【发布时间】:2016-07-31 14:38:55
【问题描述】:
我有一个中间件,当在 Kernel.php 中定义为全局中间件时,它工作正常。但是,我希望它只应用于特定的路线,所以我这样做:
Route::group(['prefix' => 'myapi/', 'middleware' => 'api'], function(){
});
调用php artisan route:list表示中间件检测正确。但是,它并没有被执行(我知道这一点,因为即使故意在文件中放置错误也不会做任何事情)。
...
protected $middlewareGroups = [
...
'api' => [
'throttle:60,1',
\App\Http\Middleware\CORSMiddleware::class,
],
];
当中间件设置为全局时,route:list 不会列出它。此外,故意在 routes.php 中指定错误的中间件名称不会引发任何错误。
编辑: 日志显示所有 GET 资源路由都执行了中间件,但没有为 POST/PUT/DELETE 执行中间件。
【问题讨论】:
标签: laravel middleware laravel-middleware