如何为转发的请求设置标头

cla*_*pas 8 http-headers laravel-5

我的控制器的方法需要设置标题,例如X-Authorization.创建新对象(store操作)后,我执行转发以显示新创建的对象(show操作):

$request = Request::create(route('api.v1.b.show', ['booking' => 4]), 'GET');
Request::replace($request->input());
return Route::dispatch($request);
Run Code Online (Sandbox Code Playgroud)

如果我禁用授权检查,转发工作正常,但否则失败.即.标题已经消失了.我想将请求标头复制Request::header('X-Authorization')到转发的请求中.可能吗?

我试过没有成功$request->header('X-Authorization', 'xxxxx').header()在发送之前也尝试过PHP 并且没有用.

有任何想法吗?干杯

小智 18

好吧,我认为你需要像这样设置标题:

$request = Request::create(route('api.v1.b.show', ['booking' => 4]), 'GET');
$request->headers->set('X-Authorization', 'xxxxx');
Run Code Online (Sandbox Code Playgroud)

这就是你问题的答案.

我的问题是:我们在哪里可以为每个api请求设置此标头(转发)?因为我个人有5个标题要设置请求,我不想重复自己.


Abe*_*ego 6

万一有人需要这个我只是想发布它可以帮助别人

       $request =new Request();
       $request->headers->set('Authorization', {{your_key_here}});
Run Code Online (Sandbox Code Playgroud)