Swagger 2.0继承和外部引用

时间:2019-06-10 12:08:42

标签: swagger-2.0 swagger-codegen

我想知道如何创建一个带有继承和外部文件的swagger 2.0 yaml模式来定义子对象。 我尝试了多种方法,但没有得到想要的对象生成。 这是我拥有的基本架构:

SampleObject:
  type: object
  allOf:
    - $ref: '#definitions/SomeObj'
    - type: object
      discriminator: typeOfObject
      properties:
        typeOfObject:
          type: string
        ...
        ...
        ...

SampleObject1:
  description: type of object 1
  allOf:
    - $ref: '#/definitions/SampleObject'
      properties:
        ...
        ...
        ...

SampleObject2:
  description: type of object 2
  allOf:
    - $ref: '#/definitions/SampleObject'
      properties:
        ...
        ...
        ...

SampleObject1和SampleObject2都扩展了SampleObject,并且当我在同一文件中定义了所有对象时,生成效果很好。但是我不知道如何在sample_obj_1.yaml中定义SampleObject1和在sample_obj_2.yaml中定义SampleObject2,并在主模式文件中引用它们。

这就是我的做法,但由于SampleObject2不再扩展SampleObject而无法使用:

在main_schema.yaml内部

SampleObject2:
  description: type of object 2
  allOf:
    - $ref: './sample_obj_2.yaml#/SampleObject2'

在sample_obj_2.yaml内部

SampleObject2:
  description: inside sample_obj_2.yaml
  allOf:
    - $ref: './main_schema.yaml#/definitions/SampleObject'
    - type: object

0 个答案:

没有答案