OpenApi

Содержание
Введение
oneOf: выбор из заданных вариантов
array: массивы
servers: Адреса и порты
Валидаторы
Related Articles

Введение

The OpenAPI Specification (с англ.—«спецификация OpenAPI»; изначально известная как Swagger Specification) — формализованная спецификация и экосистема множества инструментов, предоставляющая интерфейс между front-end системами, кодом библиотек низкого уровня и коммерческими решениями в виде API.

Вместе с тем, cпецификация построена таким образом, что не зависит от языков программирования, и удобна в использовании как человеком, так и машиной.

Относительно назначения, OpenAPI рассматривается как универсальный интерфейс для пользователей (клиентов) по взаимодействию с сервисами (серверами).

Если спроектирована спецификация для некоторого сервиса, то на её основании можно генерировать исходный код для библиотек клиентских приложений, текстовую документацию для пользователей, варианты тестирования и др.

Для этих действий имеется большой набор инструментов для различных языков программирования и платформ.

Изначально разработка спецификации под названием Swagger Specification проводилась с 2010 года компанией SmartBear.

В ноябре 2015 года SmartBear объявила, что она работает над созданием новой организации Open API Initiative при спонсорской поддержке Linux Foundation. 1 января 2016 года спецификация была переименована в The OpenAPI Specification, а её развитие ведётся в рамках Open API Initiative.

One Of

Выбор из фиксированных вариантов осуществляется с помощью codeGen namedEnum oneOf.

У объекта Value однин из атрибутов - filters может принимать значения 1, 2 или 3.

Value: properties: something: type: number format: double title: Some Title examples: [ 0 ] filters: $ref: "#/components/schemas/Filters" Filters: type: integer format: int32 maximum: 2 codeGen: namedEnum oneOf: - const: 1 title: One description: First - const: 2 title: Two description: Second - const: 3 title: Three description: Third

Массивы

Если запрос или ответ по своей структуре является массивом. Например

[ { "site": { "metadata": { "name": "TestSetup", "established": 2023, "major": "Software Testing" }, "url": "https://testsetup.ru" }, "topics": [ { "robot": { "architecture": 5, "variables": 2 } }, { "pytest": { "skeleton": 1, "parametrize": 1 } } ] } ]

Для корректного отображения нужно создать верхнеуровневый объект типа array весь смысл которого - показать OpenAPI что в корне будет именно квадратная скобка а не фигурная.

Этот объект в поле items должен ссылаться на другой объект - тот в котором и будет отображена основная структура. Например

SitesRequest: title: Sites request type: array items: $ref: '#/components/schemas/SitesRequestItem' SitesRequesItem: title: Sites request item properties: site: … topics: …

servers

Можно одновременно указать несколько адресов на который OpenAPI клиент будет отправлять запросы. Каждый адрес может иметь несколько доступных портов. Пример:

servers: - url: http://localhost variables: port: enum: - '443' - '9801' default: '9801' - url: / variables: port: enum: - '443' - '9801' default: '443'

Валидаторы

Для версий от 3.1 editor-next.swagger.io

Автор статьи: Андрей Олегович

Похожие статьи
OpenApi
Основы
Python
PowerShell
JSON

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: