关于webman 中间件不生效问题

死鬼死鬼

截图截图我这样写中间件- -结果都没生效。我把中间件改为全局或者是应用之后都能生效运行截图

554 1 0
1个回答

latin

注意:
->middleware() 路由中间件作用于 group 分组之后时候,当前路由必须在处于当前分组之下

错误使用例子

Route::group('/blog', function () {
   Route::group('/v1', function () {
      Route::any('/create', function ($rquest) {return response('create');});
      Route::any('/edit', function ($rquest) {return response('edit');});
      Route::any('/view/{id}', function ($rquest, $id) {return response("view $id");});
   });  
})->middleware([
    app\middleware\MiddlewareA::class,
    app\middleware\MiddlewareB::class,
]);

正确使用例子

Route::group('/blog', function () {
   Route::group('/v1', function () {
      Route::any('/create', function ($rquest) {return response('create');});
      Route::any('/edit', function ($rquest) {return response('edit');});
      Route::any('/view/{id}', function ($rquest, $id) {return response("view $id");});
   })->middleware([
    app\middleware\MiddlewareA::class,
    app\middleware\MiddlewareB::class,
    ]);  
});

文档说的

  • 死鬼死鬼 2023-07-04

    没错啊- -我就是在第一个分组外面

  • latin 2023-07-04

    你group有没有嵌套嘛?

  • 死鬼死鬼 2023-07-04

    每嵌套 里面就是一个个单独的路由

  • latin 2023-07-04

    那可能是其他中间件拦截了请求,没走到你设置的中间件。

  • 死鬼死鬼 2023-07-04

    就这个了别的中间件我都删除了

  • 死鬼死鬼 2023-07-05

    解决了 默认路由会跳过中间件,我关闭了默认路由 然后重新路由就可以了

🔝