Php Laravel在API路由上应用多个中间件

Php Laravel在API路由上应用多个中间件,php,laravel,authentication,middleware,Php,Laravel,Authentication,Middleware,我创建了一个自定义中间件来检查$request->wantsJson是否允许路由调用函数。命令是 1.检查JSON 2.验证 如何按此顺序实现中间件?我试过以下方法,但不起作用 Route::group(['middleware' => ['auth:api', 'json']], function () { Route::group(['prefix' => 'V1'], function () { Route::post('logout', 'API

我创建了一个自定义中间件来检查$request->wantsJson是否允许路由调用函数。命令是 1.检查JSON 2.验证

如何按此顺序实现中间件?我试过以下方法,但不起作用

Route::group(['middleware'  =>  ['auth:api', 'json']], function () {
    Route::group(['prefix'  =>  'V1'], function () {
       Route::post('logout', 'API\V1\AuthController@logout');
    });
});

您是否在App\Http\Kernel.php路由中间件中注册了中间件?

受保护的$RouteMiddle软件=[ // ... 'json'=>\App\Http\Middleware\CheckForJson::class, ]; 还有一个额外的数组用于强制非全局中间件的优先级顺序。

受保护的$middlewarePriority=[ // ... \App\Http\Middleware\CheckForJson::class, ];
您是否尝试过交换阵列中中间件的顺序?是的,这也不意味着json中间件的执行优先级高于其他中间件吗?我希望运行经过验证的中间件,然后运行我的定制中间件。