Есть ли другое место для размещения многоразовых компонентов помимо components/schema?
У меня есть "частичный" (из-за отсутствия лучшего термина), который я хотел бы использовать для $ref в другом месте, но я не хочу его использовать в качестве "модели":
Несколько примеров:
NotFoundError:
type: object
properties:
code:
type: integer
format: int32
example: 404
message:
type: string
example: "Resource Not Found"
ID-Array:
type: array
items:
$ref: '#/components/schemas/ID'
writeOnly: true
ID:
type: integer
format: int32
example: 1
ID-ReadOnly:
allOf:
- $ref: '#/components/schemas/ID'
- readOnly: true
ID-WriteOnly:
allOf:
- $ref: '#/components/schemas/ID'
- writeOnly: true

Возможное решение - поместить части в некоторый ключ расширения, скажем, x-partials, и соответственно изменить $ref. $ref не заботится о пути, пока цель находится в ожидаемом формате.
x-partials:
ID:
type: integer
format: int32
example: 1
components:
schemas:
ID-Array:
type: array
items:
$ref: '#/x-partials/ID'
writeOnly: true
ID-ReadOnly:
allOf:
- $ref: '#/x-partials/ID'
- readOnly: true
ID-WriteOnly:
allOf:
- $ref: '#/x-partials/ID'
- writeOnly: true
Таким образом, например, части не будут отображаться в разделе «Модели» пользовательского интерфейса Swagger.