Swagger 葡萄招摇过市

Swagger 葡萄招摇过市,swagger,grape,grape-api,Swagger,Grape,Grape Api,我为大多数POST请求发送JSON请求,并将JSON嵌入到请求体中。如何使用grape-swagger来描述它?您可以使用数组或散列来描述它 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 需要保存

我为大多数POST请求发送JSON请求,并将JSON嵌入到请求体中。如何使用grape-swagger来描述它?

您可以使用数组或散列来描述它

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
需要保存的数组包含多个对象。 当您只需要保存一个对象时进行散列

例:


为params添加描述很容易(我想这就是您所说的“如何使用grapeswagger来描述它?”)。Ivan向您展示了如何使用散列或数组创建params块,但要使用Grape Swagger对其进行描述,您需要在params块中的requires或optional中添加一个描述参数

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
class-API::Users
Grape Swagger将提取端点前的desc和发送到
requires
的哈希中的desc键,并将其包含在自动文档中

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