Swagger 2.0 наследование и внешний реф - PullRequest
0 голосов
/ 10 июня 2019

Я хотел бы знать, как создать схему yaml swagger 2.0 с наследованием и внешними файлами для определения дочернего объекта.Я пробовал несколько способов, но я не могу получить объект, который я хочу.Вот базовая схема, которая у меня есть:

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, и генерация в порядке, когда все объекты определены в одном файле.Но я не знаю, как я могу определить SampleObject1 в sample_obj_1.yaml и SampleObject2 в sample_obj_2.yaml и ссылаться на них в основном файле схемы.

Так я и сделал, но он не работает, так как 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
...