Я сделал контроллер ресурсов и маршрут в своем 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');
1
user8989878 24 Фев 2021 в 12:10

2 ответа

Лучший ответ

Измените линейные заказы. 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');
1
mohammad asghari 24 Фев 2021 в 09:26

Поместите новый подмаршрут в верхнюю / верхнюю часть ресурса. должно быть так:

Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
1
Muhammad Dyas Yaskur 24 Фев 2021 в 09:24