支持swagger doc的枚举

问题描述 投票:0回答:1

我对Swagger对OpenAPI3.0的枚举支持有点困惑。我想说的是,在swagger文档中已经有了新的改进,支持可重用的枚举,就像这里记录的那样。

https:/swagger.iodocsspecificationdata-modelsenums)。

其中使用了$ref来支持可重用的枚举,但是当我把我的swagger.json发布到swagger editorvalidator中时,它看起来像下面这样。然而,当我把我的swagger.json发布到swagger editorvalidator上时,它看起来像下面的样子

in: query
          name: prop-name
          description: something
          type: array
          items:
            $ref: '#/definitions/mytype'

下面将进一步定义。

mytype:
    enum:
      - Item1
    type: string

Swagger编辑器抛出了一个错误,并说: should NOT have additional properties additionalProperty: $ref

现在,这在加载swagger页面和实现功能时不是问题,但在使用swagger-gen和使用它生成客户端时却是个问题,swagger-gen CLI也抛出了同样的错误,导致我们现在能够正确地生成这个页面的客户端。

这个swagger.json有什么问题吗?我可以提供任何额外的信息来说明这个问题吗?

enums swagger swagger-ui swagger-3.0
1个回答
1
投票

在OpenAPI 2.0中,数组参数模式不能使用 $ref. 您必须定义 enum 内联。

- in: query
  name: prop-name
  description: something
  type: array
  items:
    type: string
    enum:
      - Item1
© www.soinside.com 2019 - 2024. All rights reserved.