【发布时间】:2015-12-14 00:41:27
【问题描述】:
现在我的 API 接受一个请求,例如 ?a[]=x&a[]=y 使用:
params do
requires :a, type: Array[String]
end
我的客户端只能以 Grape 不理解的?a[0]=x&a[1]=y 发送查询参数不,导致 400 (Bad Request)。
Grape 不能同时接受a[] 和a[0] 吗?另一种选择是先向另一台服务器发送请求,将a[0]转换为a[],将该请求发送给Grape,从Grape获取响应并将其发送给客户端,这似乎真的没有必要。
【问题讨论】:
-
是什么阻止您的客户端生成此类 URL?
-
我无法找到使用库从索引更改为括号的方法,因此将 Grape 更改为更灵活可能更容易。我当然可以自己构造参数,但我认为库应该处理这个问题。 Qs (github.com/hapijs/qs#stringifying) 可以处理这个问题,例如,轻松指定括号或索引(但我没有使用 Qs)。