3

我正在为大多数 POST 请求发送 JSON 请求,并将 JSON 嵌入到请求正文中。我如何用葡萄招摇来描述这一点?

4

2 回答 2

1

为参数添加描述很容易(我假设这就是您所说的“我如何使用葡萄招摇来描述这个?”)。Ivan 向您展示了如何使用 Hash 或 Array 创建 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

端点之前的 desc 和发送到的哈希中的 desc 键都requires将被 Grape Swagger 拾取并包含在自动文档中。

于 2015-01-21T15:02:43.393 回答
0

您可以使用 Array 或 Hash 来描述

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
于 2014-10-10T02:50:55.750 回答