Ruby URI:使用“param[]=value”为数组参数构建 URI

问题描述

我正在尝试查询 API(lichess API)。而且我无法正确考虑参数,因为 URI 的格式不是数组参数的预期格式。

预期的格式是:curl https://explorer.lichess.ovh/lichess?ratings[]=2200&ratings[]=2500。所以 ratings 参数是一个值数组,url 应该使用 ratings[]=value

我目前正在像这样生成我的 URI,as per the doc

base = "https://explorer.lichess.ovh/master"
params = {
  ratings: [1600,1800]
}

uri = URI(base)
uri.query = URI.encode_www_form(params)

但这会生成如下 URL:https://explorer.lichess.ovh/master?ratings=1600&ratings=1800... 这不是预期的格式,并且 Lichess API 无法理解。

Ruby 是否提供任何内置方式来生成预期格式的参数,还是我需要手动构建 URL(感觉就像在重新发明轮子)?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)