我正在使用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