You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8中如何为HTTP请求添加生成的API Key?

解决Laravel 8中第二个HTTP请求的API Key认证问题

首先你需要从第一个请求的响应中提取生成的API Key,再根据Postman里配置的API Key位置,将其添加到第二个请求中,以下是具体实现步骤:

1. 提取第一个请求返回的API Key

先解析第一个请求的响应,获取到API Key(注意替换为接口实际返回的字段名,比如token、access_key等):

public function index(Request $request)
{
    // 请求获取API Key
    $response = Http::post('ENDPOINT', [
        'Username' => 'ADMIN',
        'Password' => 'ADMIN',
        'Token' => 'TEF53...',
    ]);

    // 校验请求是否成功,避免后续逻辑报错
    if (!$response->successful()) {
        return response()->json(['error' => '获取API Key失败'], $response->status());
    }

    // 从响应中提取API Key,替换为实际字段名
    $apiKey = $response->json('api_key');

2. 给第二个请求添加API Key认证

根据Postman中配置的API Key位置,选择对应方式:

方式一:API Key放在请求头中(Postman位置选Header)

如果Postman里是将API Key放在请求头(比如Header键为X-API-Key或Authorization),直接通过withHeaders添加:

// 携带API Key发起第二个请求
    $response2 = Http::withHeaders([
        'Accept' => 'application/json',
        'X-API-Key' => $apiKey, // 替换为Postman中实际的Header键名
        // 若为Bearer Token格式,改为 'Authorization' => "Bearer {$apiKey}"
    ])->post('SECOND_ENDPOINT', [
        'body' => [
            "DocKey" => 11223333355,
            // 其他业务参数
        ]
    ]);

    return json_decode($response2);
}

方式二:API Key作为URL查询参数(Postman位置选Query Params)

如果Postman里是将API Key作为URL查询参数(比如?api_key=xxx),使用withQueryParameters方法添加:

// 携带API Key发起第二个请求
    $response2 = Http::withHeaders([
        'Accept' => 'application/json',
    ])->withQueryParameters([
        'api_key' => $apiKey, // 替换为Postman中实际的查询参数键名
    ])->post('SECOND_ENDPOINT', [
        'body' => [
            "DocKey" => 11223333355,
            // 其他业务参数
        ]
    ]);

    return json_decode($response2);
}

注意事项

  • 可以通过dd($response->json())打印第一个请求的响应,确认API Key的具体字段名和格式。
  • 若接口要求特殊的认证格式(比如Bearer Token),需对应调整请求头的写法。

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 01:06:26