如何在流明路由文件(web.php)中访问标头

时间:2017-12-13 12:53:17

标签: lumen

如何在路由文件流明中访问标题?

我想在web.php中的路由组中使用头参数值作为命名空间。

示例:

$router->group(['namespace' => 'Request::header('version')'], function() use ($router) 
{
    $router->post('login', 'UserController@loginUser');
    $router->post('test', 'UserController@testApi');
});

如果请求标头版本param v1然后它使用v1名称空间,如果v2然后使用v2 namespace.something像版本控制。

1 个答案:

答案 0 :(得分:0)

如果您只是想从标题中获取版本,可以尝试将Request作为回调参数,如下所示:

$router->get('/head', function(\Illuminate\Http\Request $request) {
    return $request->header('version');
});
上面的

应该返回您使用version键作为标题放置的任何值。

但我个人建议您尝试将路由组分开。说你有

$app->router->group([
    'namespace' => 'App\Http\Controllers\Api', 
    'prefix'=> 'api/v1/',
    'middleware' => ['jwt.auth', 'student_access_token']
], function ($router) {
    require __DIR__.'/../routes/api.php';
});

然后对于其他版本,您只需在bootstrap/app.php上定义指向其他路径文件的相同内容。希望它有所帮助。