Сейчас мой API принимает запрос, такой как ?a[]=x&a[]=y
с помощью:Массива параметр запроса рубин Grape API
params do
requires :a, type: Array[String]
end
Моего клиент может отправлять только параметр запроса в ?a[0]=x&a[1]=y
которого Grape делает не понять, в результате чего 400 (неверный запрос).
Нельзя ли принять a[]
и a[0]
с виноградом? Другой вариант - сначала отправить запрос на другой сервер, преобразовать его с a[0]
в a[]
, отправить этот запрос в Grape, получить ответ от Grape и отправить его клиенту, что кажется действительно ненужным.
Что мешает вашему клиенту генерировать такие URL-адрес? – spickermann
Мне не удалось найти способ изменения от индексов к скобкам с помощью библиотеки, поэтому, возможно, было легче изменить Grape, чтобы быть более гибким. Я мог бы самостоятельно разработать параметры, но я думал, что библиотеки должны это обработать. Qs (https://github.com/hapijs/qs#stringifying) может обрабатывать это, например, легко указывая скобки или индексы (однако я не использую Qs). – Filuren