我有一个Laravel应用,该应用向Lumen API发出请求,并使用GuzzleHttp \ Client将参数传递给HTTP标头。
以下是Laravel应用发出的请求的相关代码:
public function getJson($url) {
$client = new Client;
$header = [
'admin_user_id' => 2,
];
$response = $client->request('GET', $url , [
'headers' => $header
]);
return $response->getBody();
}
然后在我的Lumen API中,我尝试通过http标头访问参数值,如下所示:
use Illuminate\Http\Request;
class ProductController extends Controller {
public function fetch_all(Request $request) {
return $user_id = $request->header('admin_user_id');
}
}
但是,$request->header('admin_user_id');
似乎没有返回任何值。
答案 0 :(得分:1)
我首先要验证API路由是否已被击中,并可能将所有请求标头转储出去,以确保您的请求被发送到具有正确标头的Lumen API。
还要注意,如果标头包含下划线,则网络服务器可能会删除该标头。我相信nginx会默认执行此操作。这是有关此主题的SO问题的链接:https://stackoverflow.com/a/22856867/7965016。
在使用自定义标头时,我通常会坚持使用 LinearGradient(
begin: Alignment(-1.0, -4.0),
end: Alignment(1.0, 4.0),
或您所用的x-custom-header
格式。