我有一个 Laravel 应用程序,它向我的 Lumen API 发出请求,并使用 GuzzleHttp\Client 将参数传递到 HTTP header 。
以下是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 header 访问参数值,如下所示:
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');
似乎没有返回任何值。
最佳答案
我将首先验证 API 路由是否被命中,并可能转储所有请求 header ,以确保您的请求使用正确的 header 发送到您的 Lumen API。
还值得注意的是,如果 header 包含下划线,则网络服务器可能会删除该 header 。我相信 nginx 默认会这样做。以下是有关该主题的 SO 问题的链接:https://stackoverflow.com/a/22856867/7965016 .
当使用自定义 header 时,我通常坚持使用广泛接受的格式 x-custom-header
或在您的情况下使用 x-admin-user-id
。
关于laravel - Lumen/Laravel 从 Http header 获取参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464596/