laravel - Lumen/Laravel 从 Http header 获取参数值

标签 laravel http-headers lumen guzzle

我有一个 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/

相关文章:

php - 部署在 Heroku 上时查看未找到

php - 无法安装 Vagrant box Laravel Homestead

java - 将负载均衡器绕过不同 Web 应用程序的特定服务器

javascript - webapp2 cookie 检索不完整

php - 如何将 CORS 支持添加到 Wordpress RSS2 提要?

laravel - 在运行 laravel phpunit testcase 时,我在 Model.php 第 1249 行收到错误 "Call to a member function connection() on null"

Laravel 与自定义查询有很多关系

mysql - Laravel 查询过滤器审查与关系

authentication - 方法 Illuminate\Auth\RequestGuard::attempt 不存在

regex - 如何在 Nginx 中提供嵌套项目