如何在路由文件流明中访问标题?
我想在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像版本控制。
答案 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
上定义指向其他路径文件的相同内容。希望它有所帮助。