Php Laravel为同一资源路由调用不同的控制器

Php Laravel为同一资源路由调用不同的控制器,php,laravel,laravel-routing,Php,Laravel,Laravel Routing,我在api.php中创建了一个资源控制器和路由。现在我想创建一条新路线,如路线2。问题是,当我点击第二条路线时,它显示“未找到资源”错误,因为它称为“我的测试”。显示方法。我想使用这两种路线,有什么解决办法吗 Route 1 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController'); Route 2 => Route::get('test/greetings', 'App\Http\Controlle

我在api.php中创建了一个资源控制器和路由。现在我想创建一条新路线,如路线2。问题是,当我点击第二条路线时,它显示“未找到资源”错误,因为它称为“我的测试”。显示方法。我想使用这两种路线,有什么解决办法吗

Route 1 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
Route 2 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');

将新的子路由置于资源的顶部/上方。应该是:

Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');

更改行顺序。Laravel使用从顶部开始的第一行,这是合适的候选者

Route 1 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
Route 2 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');