通过服务提供商注册时,中间件在路由上不起作用

时间:2018-09-09 14:09:10

标签: php laravel-5

我正在使用https://github.com/nWidart/laravel-modules在laravel中创建基于模块的应用程序。计划将一个模块Gateway用作其他REST API之间的API网关。该模块的灵感来自https://github.com/PoweredLocal/vrata

创建了中间件HelperMiddleware

public function handle(Request $request /* custom request */, Closure $next, $id)
{
    $request->attachRoute(
        app()->make(RouteRegistry::class)->getRoute($id)
    );

    return $next($request);
}

通过ServiceProvider在模块中注册了该中间件:

$router = $this->app['router'];
$router->aliasMiddleware('gateway', HelperMiddleware::class);

我尝试在路由中添加此中间件,但是中间件无法正常工作。

Route::group(['middleware' => 'gateway', 'prefix' => 'api'], function()
{
    Route::group(['prefix' => 'gateway', 'namespace' => 'Modules\Gateway\Http\Controllers'], function()
    {
        Route::get('/{slug?}', 'GatewayController@index');
    });
});

请帮助我解决此问题。 代码:https://github.com/itsursujit/blog

0 个答案:

没有答案
相关问题