У меня есть модель определения, давайте назовите ее A
.Swagger 2.0 anyOf replacement
A
имеет свойство, которое представляет собой сложный объект, который может быть нескольких типов сложных объектов. Как я могу достичь этого с помощью swagger 2.0? anyOf
не поддерживается на чванство, и я проверил в discriminator
и полиморфных типов здесь:
https://github.com/OAI/OpenAPI-Specification/issues/403
пока я не понимаю, как я мог бы использовать его для моей потребности. Я уже построил полиморфный тип (рисунок):
Father:
discriminator: fatherType
SonA:
type: object
allOf:
- $ref: '#/definitions/Father'
- properties:
fatherType:
type: string
enum:
- SonA
name:
type: string
Использование его в моей модели A
не работает, как ожидалось:
A
type: object
properties:
father:
$ref: '#/definitions/Father'
Я знаю, что он приходит в 3.0, но до сих пор мой лучший вариант для такого требования, когда мне нужен объект A или B или C? Должен ли я оставить его как пустой объект? Таким образом, для моего примера A будет только следующее: 'A type: object' – Jorayen
Как насчет использования [расширения поставщика] (https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#vendorExtensions) в настоящее время, например x-anyOf? –
Я бы не хотел его использовать, это будет ограничительным и конкретным для набора инструментов, которые я буду использовать. Думаю, мне придется ждать тогда – Jorayen