Я использую OpenAPI 3.0 для определения API для сервиса, который я создаю. Я столкнулся с проблемой повторного использования компонентов схемы внутри других компонентов. Например, у меня есть объект Note
, который содержит объект Profile
человека, создавшего заметку. Это работает, как и ожидалось, при ссылке на объект Profile
с использованием ключевого слова $ref
. Проблема заключается в том, что при показе примера нет никаких данных для профиля, и если я помещаю ссылку в пример, как показано ниже, он включает фактический блок OpenAPI Profile
, а не только данные примера для компонента Profile
.
Мне интересно, есть ли способ повторного использования компонентов в других компонентах, а также повторного использования набора примеров для этих компонентов?
Пример:
FullNote:
allOf:
- $ref: '#/components/schemas/BaseNote'
- type: object
title: A single note response
required:
- id
- dateCreated
- profile
properties:
id:
type: integer
format: int32
dateCreated:
type: integer
format: int64
profile:
type: object
$ref: '#/components/schemas/Profile'
example:
id: 123456789
dateCreated: 1509048083045
profile:
$ref: '#/components/schemas/Profile'