Маршрут Laravel к контроллеру не работает

Я пытаюсь добавить новый контроллер в существующий проект laravel. Приложение уже имеет несколько страниц на /users и я пытаюсь добавить RESTful API, который работает отдельно для этого. Я хотел бы, чтобы API был доступен на api/users,

Я создал контроллер с помощью PHP ремесленника:

php artisan controller:make ApiUsersController

Я добавил следующее в мои маршруты:

Route::controller('api/users', 'ApiUsersController');

Однако, когда я нажимаю URL, я просто получаю сообщение «Страница не найдена».

Я что-то пропустил?

0

Решение

Похоже, проблема в том, что вы использовали Route::controller скорее, чем Route::resource,

Route::resource сопоставляет маршруты с семью методами RESTful, которые генератор контроллеров создает по умолчанию. Route::controller сопоставляет их с методами, которые вы добавляете сами, которые имеют метод HTTP как часть их имени, в вашем случае, если у вас был метод с именем getIndex это будет вызвано по запросу GET /api/users/index или если у вас был один позвонил postStore это будет вызвано по запросу POST /api/users/store,

Чтобы добавить префикс API к маршруту, вы можете использовать следующее:

Route::group(['prefix' => 'api'], function() {
Route::resource('users', 'ControllerName');
});

Вы также можете добавить любые другие контроллеры в API в том же обратном вызове.

1

Другие решения

Других решений пока нет …