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

Laravel 8中使用Guzzle 7传递Path Variables问题求助

解决Laravel 8中Guzzle 7传递Path Variables的问题

你当前代码里的'params'配置对应的是查询字符串参数(Query Parameters)(即URL中?key=value形式的参数),但Postman里的Path Variables是URL路径中的动态占位部分(比如https://api.example.com/users/{dni}里的{dni}),所以用params无法将参数传递到路径中,导致请求失败。

正确的实现方式有两种:

1. 直接拼接URL路径

将路径变量直接嵌入到请求URL中:

$dni = 'xxxxxxx';
$client = new \GuzzleHttp\Client();  
$response = $client->get("https://your-api-domain/xxx/{$dni}", [
    'headers' => ['x-api-key' => 'xxxxxxxxx']
]);
dd($response);

2. 使用Guzzle的URI模板功能

Guzzle支持RFC 3986标准的URI模板,可以通过uri选项传入路径变量,Guzzle会自动完成URL编码和替换:

$client = new \GuzzleHttp\Client([
    'base_uri' => 'https://your-api-domain/' // 配置基础域名
]);

$response = $client->get('xxx/{dni}', [
    'uri' => [
        'dni' => 'xxxxxxx'
    ],
    'headers' => ['x-api-key' => 'xxxxxxxxx']
]);
dd($response);

注意:如果路径变量包含特殊字符(比如空格、中文等),第二种方式会自动帮你处理URL编码,避免手动拼接可能出现的编码错误。

内容的提问来源于stack exchange,提问作者Steven S Grossberg Millan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:01:12