如何在guzzle查询构建期间将“管道”添加到get参数中

问题描述 投票:0回答:1

我正在使用具有“范围”参数的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
    ]
]);

我想过滤我的价格,但我需要管道能够做到这一点。

php laravel guzzle
1个回答
0
投票

这正是应该如何。 %7C应该在服务器端自动解码为|about query string encoding)。

我打赌这个问题在不同的地方。

© www.soinside.com 2019 - 2024. All rights reserved.