Swagger:如何获取格式化示例json

时间:2017-04-18 19:56:45

标签: swagger swagger-ui openapi

我真的很难理解回复的examples部分的格式。我为500内部服务器错误定义了以下响应。

500InternalServerError:
    description: The server encountered an unexpected condition which prevented it from fulfilling the request
    schema:
      allOf:
        - $ref: '#/definitions/Failure'
    headers:
      X-Rate-Limit-Limit:
        description: The number of allowed requests in the current period
        type: integer
      X-Rate-Limit-Remaining:
        description: The number of remaining requests in the current period
        type: integer
      X-Rate-Limit-Reset:
        description: The number of seconds left in the current period
        type: integer
    examples:
      application/json:
        code: -1
        message: The server encountered an unexpected condition which prevented it from fulfilling the request

当我在swagger-ui中加载它时,它看起来像这样:

Json Response Format

如何将响应格式化为多行并看起来像这样?:

{
  "code": "-1",
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}

1 个答案:

答案 0 :(得分:1)

在Swagger UI 3.0.x中,响应级示例中缺少漂亮的打印似乎是一个错误或缺少功能。随意提交问题on GitHub

解决方法是使用模式级示例:

definitions:
  Failure:
    type: object
    ...
    example:
      code: "-1"  # Quotes force the number to be treated as a string
      message: The server encountered an unexpected condition which prevented it from fulfilling the request


顺便说一下,单独使用allOf时不需要$ref(不与其他项目合并):

schema:
  $ref: '#/definitions/Failure'