Laravel 拉威尔:这两种路由api方法有什么区别
这个 还有这个Laravel 拉威尔:这两种路由api方法有什么区别,laravel,cors,middleware,Laravel,Cors,Middleware,这个 还有这个 Route::middleware(['cors'])->group(function () { Route::post('/login', 'AuthController@APIstore'); Route::middleware(['auth:api'])->group(function () { Route::post('/logout', 'AuthController@APIdestroy'); Rou
Route::middleware(['cors'])->group(function () {
Route::post('/login', 'AuthController@APIstore');
Route::middleware(['auth:api'])->group(function () {
Route::post('/logout', 'AuthController@APIdestroy');
Route::get('/projects', 'ProjectController@getAll');
});
});
在第一个代码中,CORS中间件使用/login,但不适用于/logout和/projects
在第二个代码中,CORS中间件根本不工作
这背后有什么原因吗?因此,根据,顶级中间件应用于组中的所有组。因此,使用
Route::middleware(['cors'])
将意味着此中间件将应用于Route::middleware(['auth:api'])
但是
Route::group(['middleware'=>'cors']
是一个组路由而不是一个中间件路由,因此中间不适用于子组。那么您的cors
中间件做什么呢?这些都是一样的…只需运行php artisan路由:list
并查看哪些中间件附加到您的路由上“中间件应用于组中的所有组”…然后下一段…除了您的组,因为它们是组?
Route::group(['middleware' => 'cors'], function() {
Route::post('/login', 'AuthController@APIstore');
Route::group(['middleware' => 'auth:api'], function() {
Route::post('/logout', 'AuthController@APIdestroy');
Route::get('/projects', 'ProjectController@getAll');
});
});