我想定义PaymentMethod
如下。 swagger.yaml是否支持oneOf?
PaymentMethod:
oneOf:
- $ref: '#/definitions/NewPaymentMethod'
- $ref: '#/definitions/ExistPaymentMethod'
ExistPaymentMethod
仅具有id,而cardNumber
其中NewPaymentMethod
没有id
,但所有其他详细信息(例如cardNumber
,cardholderName
,cardholderAddress
等。 最佳答案
OpenAPI版本3(oneOf
)支持openapi: 3.0.0
,但是Swagger版本2(swagger: '2.0'
)不支持。
PaymentMethod:
oneOf:
- $ref: '#/components/schemas/NewPaymentMethod'
- $ref: '#/components/schemas/ExistPaymentMethod'
GitHub问题编号:https://github.com/OAI/OpenAPI-Specification/issues/333
有关OpenAPI 3.0与2.0相比的更改列表,请参见:https://blog.readme.io/an-example-filled-guide-to-swagger-3-2/