如何在我的路由中使用中间件调用 ApiResource?
How to call ApiResource with middleware in my routes?
当我像下面这样使用 middleware
时,没问题:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
但是如果我尝试将它与 apiResources
一起使用,如下所示:
Route::apiResources([
'user' => 'API\UserController',
'posts' => 'API\PostController'
])->middleware('auth:api');
然后我收到一条错误消息:
php artisan route:list
BadMethodCallException
Method Illuminate\Routing\RouteRegistrar::apiResources does not
exist.
在 routes/api.php
中用 middleware
调用 ApiResource
的正确方法是什么?
我认为您不能向 apiResources
添加任何中间件,您可以做的是将它们嵌套在应用它们的路由组中
Route::group(['middleware' => 'auth:api'], function () {
Route::apiResources([
'user' => 'API\UserController',
'posts' => 'API\PostController'
]);
});
这还允许您使用 namespace 选项缩短控制器定义:
Route::group(['middleware' => 'auth:api', 'namespace' => 'API'], function () {
Route::apiResources([
'user' => 'UserController',
'posts' => 'PostController'
]);
});
当我像下面这样使用 middleware
时,没问题:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
但是如果我尝试将它与 apiResources
一起使用,如下所示:
Route::apiResources([
'user' => 'API\UserController',
'posts' => 'API\PostController'
])->middleware('auth:api');
然后我收到一条错误消息:
php artisan route:list
BadMethodCallException
Method Illuminate\Routing\RouteRegistrar::apiResources does not exist.
在 routes/api.php
中用 middleware
调用 ApiResource
的正确方法是什么?
我认为您不能向 apiResources
添加任何中间件,您可以做的是将它们嵌套在应用它们的路由组中
Route::group(['middleware' => 'auth:api'], function () {
Route::apiResources([
'user' => 'API\UserController',
'posts' => 'API\PostController'
]);
});
这还允许您使用 namespace 选项缩短控制器定义:
Route::group(['middleware' => 'auth:api', 'namespace' => 'API'], function () {
Route::apiResources([
'user' => 'UserController',
'posts' => 'PostController'
]);
});