如何在swagger-editor中将自定义对象表示为api的参数

时间:2017-03-21 09:51:47

标签: swagger-2.0 swagger-editor

我想在swagger-editor中将自定义对象表示为api的参数。假设我们称之为api / postInfo / data

@RequestMapping(value = "/postInfo/data", method = RequestMethod.POST)
public Info requestProcessing(@RequestBody Info info)
{
    // Implementation
}

上面的方法包含Info模型类作为参数:

class Info
{
    private String id;
    private String name;
    private String desc;
}

如何在swagger编辑器中将其表示为yaml文档?

1 个答案:

答案 0 :(得分:2)

在Swagger 2.0中,可以在全局definitions部分中定义对象模式:

definitions:
  Info:
    type: object
    properties:
      id:
        type: string
      name:
        type: string
      desc:
        type: string

然后$ref来自规范的其他部分。

如果对象用作操作的输入,则操作需要定义一个带有schema的body参数,该参数对应于该对象的模式。

paths:
  /postInfo/data:
    post:
      consumes:
        - application/json
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: '#/definitions/Info'
      responses:
        200:
          description: OK