js-trie-router-openapi

0

Описание

Модуль создания OpenAPI документа для @e22m4u/js-trie-router

Языки

  • JavaScript100%
README.md

@e22m4u/js-trie-router-openapi

Модуль создания OpenAPI документа для @e22m4u/js-trie-router

  • Генерация OpenAPI 3.1 документа согласно определению маршрутов.
  • Валидация OpenAPI схем и компонентов в момент определения.
  • Поддержка ссылок
    $ref
    на зарегистрированные компоненты.

Содержание

Установка

Модуль поддерживает ESM и CommonJS стандарты.

ESM

CommonJS

Использование

Подключение модуля к маршрутизатору.

Быстрое добавление маршрута в документацию.

Определение компонента схемы.

Использование компонентов в спецификации маршрута.

Отдача документации через маршрутизатор.

Формирование JSON документа.

Компоненты и ссылки

OpenAPI позволяет выносить повторяющиеся участки спецификации в общий набор компонентов. Это делает определения маршрутов и итоговый документ компактными.

Для регистрации компонентов в классе

OADocumentBuilder
предусмотрены специальные методы, а для формирования ссылок на компоненты используются функции-утилиты.

Поддерживаемые типы компонентов

Ниже представлен список доступных типов компонентов. Для каждого из них указан метод регистрации в объекте

OADocumentBuilder
и соответствующая функция-утилита для создания
$ref
ссылки.

Schema

Метод:

defineSchemaComponent(name, component)

Ссылка:
oaSchemaRef(name)

Parameter

Метод:

defineParameterComponent(name, component)

Ссылка:
oaParameterRef(name)

Request Body

Метод:

defineRequestBodyComponent(name, component)

Ссылка:
oaRequestBodyRef(name)

Response

Метод:

defineResponseComponent(name, component)

Ссылка:
oaResponseRef(name)

Security Scheme

Метод:

defineSecuritySchemeComponent(name, component)

Ссылка:
oaSecuritySchemeRef(name)

Example

Метод:

defineExampleComponent(name, component)

Ссылка:
oaExampleRef(name)

Link

Метод:

defineLinkComponent(name, component)

Ссылка:
oaLinkRef(name)

Callback

Метод:

defineCallbackComponent(name, component)

Ссылка:
oaCallbackRef(name)

Path Item

Метод:

definePathItemComponent(name, component)

Ссылка:
oaPathItemRef(name)

Пример использования

Если в маршрутах используется определенный параметр и стандартный ответ, то их можно зарегистрировать в качестве переиспользуемых компонентов. В примере ниже определяется компонент параметра

limit
и компонент ответа сервера
404 Not Found
.

Теперь можно ссылаться на эти компоненты при определении маршрутов, используя специальные утилиты, которые автоматически генерируют объект ссылки.

Настройки

При подключении данного расширения к маршрутизатору, вторым аргументом можно определить параметры, как это показано на примере ниже.

Параметры

document

Тип:

object

По умолчанию:
{info: {title: 'API Documentation', version: '0.0.1'}}

Позволяет задать базовую структуру OpenAPI документа при инициализации расширения. Сюда передаются корневые настройки спецификации, список серверов, глобальные требования безопасности и заранее подготовленные компоненты.

Тесты

Лицензия

MIT