Могу ли я добавить заполнитель или ссылку на список перечислений в описание схемы в соответствии со спецификациями openapi 3.0?

swagger #openapi

#swagger #openapi

Вопрос:

Описание схемы необходимо обновить списком перечислений, определенным в том же файле openapi.yaml. Вот пример в псевдокоде и желаемый результат:

 enum:
  - John
  - Doe

description: {enumList} is the name
 

результат
John Doe is the name

Вопрос в том, возможен ли какой-то такой подход. Описание схемы поддерживает синтаксис markdown, но я не смог найти механизмы, позволяющие достичь такого результата

редактировать: теоретически это может быть массив строк

Ответ №1:

Ни спецификация OpenAPI, ни Markdown не поддерживают готовые описания шаблонов. Но вы можете написать скрипт, который проанализирует файл OpenAPI и заменит ваш пользовательский синтаксис шаблонов желаемыми значениями. Существуют анализаторы OpenAPI для разных языков программирования, или вы можете использовать процессор YAML / JSON, такой как yq.

Комментарии:

1. файл openapi.yaml в этом случае формируется для визуализации его ресурсов API службой, которую я не контролирую. Я просто загружаю файл .yaml, и сервис делает это волшебно. Ваше предложение подразумевает, что у меня был контроль над ним?

2. «Я просто загружаю файл .yaml …» Итак, у вас есть файл OpenAPI YAML. Перед загрузкой в эту службу вы можете обработать файл с помощью скрипта для замены {enumList} соответствующим текстом.