Я отправляю запрос JSON для большинства запросов POST и вставляю JSON в тело запроса. Как я могу описать это, используя гребень винограда?Grape Swagger описывает тело JSON
3
A
ответ
0
Вы можете использовать массив или хэш для описания
params do
optional :preferences, type: Array do
requires :key
requires :value
end
requires :name, type: Hash do
requires :first_name
requires :last_name
end
end
массива, когда необходимо сохранить объекты HAS_MANY. Хеш, когда вам нужно сохранить только объект.
Ex:
params do
requires :post, type: Hash do
requires :title
requires :description
optional :images_attributes, type: Array
end
end
1
Добавление описания для параметров легко (я предполагаю, что это то, что вы имеете в виду под «Как я могу описать это, используя виноградный чванство?»). Иван показывает вам, как создавать блоки params с помощью Hash или Array, но для описания их с помощью Grape Swagger вам нужно добавить параметр описания в требуемый или необязательный параметр в блоке params.
class API::Users < Grape::API
resource 'user' do
desc 'Create a new user'
params do
requires :user, type: Hash, desc: 'user object to create' do
requires :first_name, type: String, desc: 'First name of user'
requires :last_name, type: String, desc: 'Last name of user'
end
end
post do
# do work here
end
end
end
И убывание до конечной точки и ДЕСК ключи в хэш отправленного в requires
будет подобран винограда Swagger и включены в автоматической документации.