2014-09-19 168 views

回答

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 
1

添加描述为params为方便(我以为是你的意思是“我怎样才能形容这个使用葡萄招摇?”)。 Ivan向你展示了如何用Hash或者Array创建params块,但是用Grape Swagger来描述它们需要在params块中添加一个描述参数给require或者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 

两个端点之前递减,并在发送给requires散列的降序密钥将通过葡萄扬鞭被拾起并包括自动文档。