Это зависит от варианта использования.
1) Если ответом является customer
или account
, используйте oneOf
:
responses:
'200':
description: A `customer` object or an `account` object
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/account'
# Example for Swagger UI - see the note below
example:
foo: bar
Примечание дляПользователи Swagger UI: В настоящее время пользовательский интерфейс Swagger не генерирует примеры из oneOf
схем.Обходной путь должен предоставить пользовательский example
наряду с oneOf
.
2) Если ответ имеет комбинированный набор свойств из customer
и account
, используйте allOf
:
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MyResponse'
components:
MyResponse:
allOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/account'
3) Если ответ имеет два свойства, одно из которых является объектом customer
, а другое - объектом account
, используйте следующее:
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MyResponse'
components:
MyResponse:
type: object
properties:
customer:
$ref: '#/components/schemas/customer'
account:
$ref: '#/components/schemas/account'