我正在使用具有“范围”参数的api,该参数可以应用于多个不同的参数项。我关注的范围是“价格”。我在laravel中使用guzzle并根据api文档,这个特定参数的查询应该写成“&range_facet = price | 500 | 2500 | 250”...这被分解为最小值,最大值和价格范围参数的区间值。这个问题不一定重要。当我尝试按原样运行此查询时,我得不到任何返回。当我删除那个特定参数时,我得到了值,但显然它们没有按照我希望它们的方式进行过滤。当我在Insomnia中运行它时,管道被“%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)。
我打赌这个问题在不同的地方。