2014-09-19 94 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散列的降序密鑰將通過葡萄揚鞭被拾起幷包括自動文檔。