Laravel 到控制器的路由不工作

Laravel route to controller not working

我正在尝试将新控制器添加到现有的 laravel 项目中。该应用程序已经在 /users 上有一些页面,我正在尝试添加一个 RESTful API ,它单独工作。我希望 API 在 api/users 上可用。

我使用 PHP artisan:

创建了控制器
php artisan controller:make ApiUsersController

我已将以下内容添加到我的路线中:

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

然而,当我点击 URL 时,我只收到该站点的 'Page could not be found' 消息。

有什么我遗漏的吗?

您遇到的问题似乎是您使用了 Route::controller 而不是 Route::resource

Route::resource 将路由映射到控制器生成器默认创建的七个 RESTful 方法。 Route::controller 将它们映射到您自己添加的方法,这些方法将 HTTP 方法作为其名称的一部分,在您的情况下,如果您有一个名为 getIndex 的方法,它将在对 [=16 的 GET 请求中被调用=] 或者如果您有一个名为 postStorepostStore ,它将在对 /api/users/store.

的 POST 请求中被调用

为了向路由添加 API 前缀,您可以使用以下内容:

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

您还可以在同一回调中的 API 中添加任何其他控制器。