我正在为大多数POST请求发送JSON请求,并且我将JSON嵌入请求正文中。我怎么能用葡萄招摇来描述这个?
答案 0 :(得分:1)
为params添加描述很容易(我认为这就是你的意思"我怎么能用葡萄招摇来描述这个?")。 Ivan向您展示了如何使用Hash或Array创建params块,但是要使用Grape Swagger描述它们,您需要在params块中为requires或optional添加description参数。
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
端点之前的desc和发送到requires
的哈希中的desc键都将被Grape Swagger选中并包含在自动文档中。
答案 1 :(得分: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对象时的数组。 当你需要只保存一个对象时散列。
例如:
params do
requires :post, type: Hash do
requires :title
requires :description
optional :images_attributes, type: Array
end
end