在特定的路由范围cakephp中调用中间件3

问题描述 投票:1回答:1

我创建了一个自定义中间件,并尝试在cakephp 3.5.x中的Cases下的特定路由范围中使用,

需求:

routes.php文件

use Api\Middleware\CasesMiddleware;

Router::scope('/', function (RouteBuilder $routes) {

    $routes->registerMiddleware('CasesRequired', new CasesMiddleware());

    Router::scope('/Cases', function (RouteBuilder $routes) {
        $routes->applyMiddleware('CasesRequired');
    }
}

但这不起作用。但是,当我把$routes->applyMiddleware('CasesRequired'),外部路由范围cases然后它的工作如下,

Router::scope('/', function (RouteBuilder $routes) {

    $routes->registerMiddleware('CasesRequired', new CasesMiddleware());
    $routes->applyMiddleware('CasesRequired');

    Router::scope('/Cases', function (RouteBuilder $routes) {

    }
}

请建议出现问题的原因.......只能在路由范围Cases下调用中间件。

cakephp routing cakephp-3.0 middleware
1个回答
0
投票
use Api\Middleware\CasesMiddleware;

Router::scope('/', function (RouteBuilder $routes) {

    $routes->registerMiddleware('CasesRequired', new CasesMiddleware());

    $routes->scope('/Cases', function ($routes) {
        $routes->applyMiddleware('CasesRequired');
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.