Swagger文档错误`应为对象`

Swagger文档错误`应为对象`,swagger,swagger-2.0,swagger-editor,Swagger,Swagger 2.0,Swagger Editor,我正在手动编写招摇文档。但是我得到了一些错误应该是object 我不知道为什么下面的代码会出错 events: $ref: "#/def/Events" Events: type: "object" properties: oneOf: - $ref: '#/def/ClassRef' - $ref: '#/def/TypeRef' - $ref: '#/def/EventRef' -

我正在手动编写招摇文档。但是我得到了一些错误
应该是object

我不知道为什么下面的代码会出错

events:
        $ref: "#/def/Events"

Events:
    type: "object"
    properties:
      oneOf:
        - $ref: '#/def/ClassRef'
        - $ref: '#/def/TypeRef'
        - $ref: '#/def/EventRef'
        - $ref: '#/def/MarketRef'
        - $ref: '#/def/OutcomeRef'

  ClassRef:
    type: "object"
    properties:
      classRef:
        type: "string"

  TypeRef:
    type: "object"
    properties:
      typeRef:
        type: "string"

  EventRef:
    type: "object"
    properties:
      eventRef:
        type: "string"

  MarketRef:
    type: "object"
    properties:
      marketRef:
        type: "string"

  OutcomeRef:
    type: "object"
    properties:
      outcomeRef:
        type: "string"

我在ClassRef行中得到了这个错误。有人能帮我一下吗?OpenAPI 2.0(
swagger:'2.0'
)不支持
oneOf
,您需要OpenAPI 3.0(
OpenAPI:3.0.0
)才能使用
oneOf

假设您使用OpenAPI 3.0,并且所有模式都位于
组件/模式
部分,请按如下方式更改
事件
模式:

事件:
其中一项:
-$ref:“#/components/schemas/ClassRef”
-$ref:“#/components/schemas/TypeRef”
-$ref:“#/components/schemas/EventRef”
-$ref:“#/components/schemas/MarketRef”
-$ref:“#/components/schemas/OutcomeRef”

但是如果我们使用2.0,如何解决这个问题?我们仍然在使用2.0中的Swagger 2.0,您最多可以将
事件
定义为
类型:对象
,即具有任意属性的自由形式对象。但是如果您需要
oneOf
,则需要迁移到OpenAPI 3.0。这里有工具可以使用,谢谢。你救了我的命