Я пытаюсь определить схему в спецификации OpenAPI 3.0.2.Я хочу, чтобы одно из свойств проверялось по списку значений.
Обычно я делаю это с помощью enum.
components:
schemas:
catalog:
title: title here
description: describing it here
properties:
catalogitemid:
description: catalog identifier
type: string
enum:
- item1347
- item9081
- item5720
catalogitemname:
description: catalog item name
type: string
required:
- catalogitemid
- catalogitemname
additionalProperties: false
Но я хочу, чтобы этот список перечислений был удаленным YAML /JSON вместо.
Причина: этот список необходимо периодически обновлять (более 2000 значений).И я хочу избежать того, что заставляет обновлять этот API.
Ниже $ ref сбой подхода:
components:
schemas:
catalog:
title: title here
description: describing it here
properties:
catalogitemid:
description: catalog identifier
type: string
enum:
$ref: 'https://remote/path/to/catalog/list.yaml#/components/schemas/catalogitemid/enum'
catalogitemname:
description: catalog item name
type: string
required:
- catalogitemid
- catalogitemname
additionalProperties: false
Ошибки:
Линия catalog
вызывает
should have required property '$ref'
missingProperty: $ref
should match exactly one schema in oneOf
И строка enum
вызывает
should be array
Каким был бы способ сделать это?