gpt4 book ai didi

Ruby 的法拉第 - 多次包含相同的参数

转载 作者:行者123 更新时间:2023-12-04 17:10:49 25 4
gpt4 key购买 nike

我正在使用一个 API,它迫使我多次发送相同的参数名称以级联不同的过滤条件。因此,示例 api GET 调用如下所示:

GET http://api.site.com/search?a=b1&a=b2&a=b3&a=c2

我将 Faraday 用于我的 REST 适配器,它将其 URL 参数作为哈希(因此 - 它具有唯一的键)。这意味着我不能做这样的事情:
response = Faraday.new({
url: 'http://api.site.com/search'
params: { a: 'b1', a: 'b2', a: 'b3', a: 'c2' } # => nay
}).get

我试图在发送请求之前破解网址:
connection = Faraday.new(url: 'http://api.site.com/search')
url = connection.url_prefix.to_s
full_url = "#{ url }?a=b1&a=b2&a=b3&a=c2"
response = connection.get( full_url )

哪个不起作用 - 当我调试响应时,我看到发送到 API 服务器的实际 url 是:
GET http://api.site.com/search?a[]=b1&a[]=b2&a[]=b3&a[]=c2

我无法更改 API。有没有办法继续与法拉第合作并以优雅的方式解决这个问题?谢谢。

最佳答案

一段时间以来,我一直试图弄清楚如何做到这一点。我最终挖掘了法拉第代码,并在测试套件中找到了这个用例。

:params => {:color => ['red', 'blue']}

应该屈服
color=red&color=blue

关于Ruby 的法拉第 - 多次包含相同的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com