如何在响应中返回默认值?

时间:2020-01-03 20:56:38

标签: openapi

我有以下描述:

openapi: 3.0.0
info:
  title: Sample API
  description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML.
  version: 0.1.9
servers:
  - url: http://localhost
    description: Optional server description, e.g. Internal staging server for testing
paths:
  /ping:
    get:
      responses:
        '200':    # status code
          description: OK
          content:
            text/plain:
              schema:
                type: string

现在,当用户请求/ping时,它应该收到pong。如何将默认响应有效载荷设置为pong

2 个答案:

答案 0 :(得分:2)

一种实现方法是将其定义为具有单个值的枚举:

openapi: 3.0.0
info:
  title: Sample API
  description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML.
  version: 0.1.9
servers:
  - url: http://localhost
    description: Optional server description, e.g. Internal staging server for testing
paths:
  /ping:
    get:
      responses:
        '200':    # status code
          description: OK
          content:
            text/plain:
              schema:
                type: string
                enum: [pong]

答案 1 :(得分:2)

Json Schema支持带有version draft 6,但Open API was designed against draft 5const关键字。因此,开放式api模式规范中不支持const

@Doqnach已经建议:使用单个值enum,这是一个很好的解决方案,因为(请参阅https://json-schema.org/understanding-json-schema/reference/generic.html):

应注意,对于具有单个元素的枚举,const仅仅是语法糖,因此以下内容是等效的:

{ "const": "United States of America" }

{ "enum": [ "United States of America" ] }

相似的问题: