【发布时间】:2021-05-23 21:14:10
【问题描述】:
我正在尝试查询 API(lichess API)。而且我无法正确考虑参数,因为URI 格式化的 URL 不是数组参数的预期格式。
预期的格式是这样的: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(感觉就像在重新发明轮子)?
【问题讨论】: