如何正确引用组件中的示例(OAS 3.0)

时间:2018-10-23 12:04:44

标签: yaml swagger openapi

我遵循OAS 3.0 specification来用YAML编写文档,但是Swagger Editor呈现的结果格式不正确。

responses对象下的operation对象

  responses:
    200:
      description: "..."
      content:
        application/json:
          schema:
            $ref: '...'
          example:
            $ref: '#/components/examples/person'

我要引用的example

components:
  examples:
    person:
      value:
        name: "Joe"
        description: "I am a programmer"

我在Swagger编辑器右侧看到的内容(渲染结果)

{
  "value": {
    "name": "Joe",
    "description": "I am a programmer"
  },
  "$$ref": "#/components/examples/person"
}

我所期望的

{
    "name": "Joe",
    "description": "I am a programmer"
}

我试图将value附加到引用语句中,

$ref: '#/components/examples/person/value'

这就是我得到的。

{
  "name": "Joe",
  "description": "I am a programmer",
  "$$ref": "#/components/examples/person/value"
}

我觉得这不是正确的方法,因为在每个引用语句后附加value对我来说似乎很奇怪,但仍然无法按预期工作。

我尝试用Google进行搜索,但大多数结果都无关紧要。我想知道我的语法是错误的还是Swagger Editor无法正常工作。任何建议表示赞赏,谢谢。

0 个答案:

没有答案