如何在 guzzle 查询构建期间将 "pipe" 添加到 get 参数中
How to add a "pipe" into a get parameter during guzzle query building
我使用的 api 有一个 "range" 参数,可以应用于多个不同的参数项。我关注的范围是 "price"。我在 laravel 中使用 guzzle,根据 api 文档,针对此特定参数的查询应该这样写:“&range_facet=price|500|2500|250”。 ..这被分解为价格范围参数的最小值、最大值和区间值。这对这个问题不一定重要。当我按原样尝试 运行 这个查询时,我没有得到任何返回。当我删除该特定参数时,我得到了值,但显然它们没有按照我希望的方式进行过滤。当我在 Insomnia 运行 this 时,管道被“%7C”替换,这显然(显然?)没有被 api 解释,因为它不是等待 GET 请求的方式.我怎样才能将管道插入查询,以便它调用正确的方式?
我尝试创建一个额外的嵌套数组,将价格值分解成键值对,但这也没有用。
'range_facets' => ['price'['start'=>'500', end=>'2500', 'interval'=>'250']],
$client = new Client();
$result = $client->request('GET', "http://api.example.com", [
'headers' => [
'Host' => 'example-host',
'Content-Type' => 'application/json'
],
'query' => [
'api_key' => 'my_api_key',
'range_facets' => 'price|500|2500|250',
'year' => $year,
'latitude' => '30.170222',
'longitude' => '92.01320199',
'radius' => 500,
'start' => 0,
'rows' => 50
]
]);
我想过滤我的价格,但我需要管道才能做到这一点。
这正是它应该的样子。 %7C
应在服务器端自动解码为 |
(about query string encoding)。
我敢打赌问题出在不同的地方。
我使用的 api 有一个 "range" 参数,可以应用于多个不同的参数项。我关注的范围是 "price"。我在 laravel 中使用 guzzle,根据 api 文档,针对此特定参数的查询应该这样写:“&range_facet=price|500|2500|250”。 ..这被分解为价格范围参数的最小值、最大值和区间值。这对这个问题不一定重要。当我按原样尝试 运行 这个查询时,我没有得到任何返回。当我删除该特定参数时,我得到了值,但显然它们没有按照我希望的方式进行过滤。当我在 Insomnia 运行 this 时,管道被“%7C”替换,这显然(显然?)没有被 api 解释,因为它不是等待 GET 请求的方式.我怎样才能将管道插入查询,以便它调用正确的方式?
我尝试创建一个额外的嵌套数组,将价格值分解成键值对,但这也没有用。
'range_facets' => ['price'['start'=>'500', end=>'2500', 'interval'=>'250']],
$client = new Client();
$result = $client->request('GET', "http://api.example.com", [
'headers' => [
'Host' => 'example-host',
'Content-Type' => 'application/json'
],
'query' => [
'api_key' => 'my_api_key',
'range_facets' => 'price|500|2500|250',
'year' => $year,
'latitude' => '30.170222',
'longitude' => '92.01320199',
'radius' => 500,
'start' => 0,
'rows' => 50
]
]);
我想过滤我的价格,但我需要管道才能做到这一点。
这正是它应该的样子。 %7C
应在服务器端自动解码为 |
(about query string encoding)。
我敢打赌问题出在不同的地方。