Jump to content

Спецификация OpenAPI

OpenAPI
Спецификация OpenAPI
Год начался 2010  ( 2010 )
Впервые опубликовано 10 августа 2011 г. ( 10.08.2011 )
Последняя версия 3.1.0
15 февраля 2021 г. ( 15 февраля 2021 г. )
Веб-сайт опенапис .org

Спецификация OpenAPI , ранее известная как Спецификация Swagger , представляет собой языка определения спецификацию машиночитаемого интерфейса для описания, создания, потребления и визуализации веб-сервисов . [1] Ранее являвшийся частью платформы Swagger , в 2015 году он стал отдельным проектом под контролем OpenAPI Initiative, проекта сотрудничества с открытым исходным кодом Linux Foundation . [2]

Документ OpenAPI представляет собой формальное описание API, которое инструменты могут использовать для создания кода, документации, тестовых примеров и многого другого.

Разработка Swagger началась в начале 2010 года Тони Тэмом, который работал в компании онлайн-словарей Wordnik . [3]

В марте 2015 года SmartBear Software приобрела спецификацию Swagger API с открытым исходным кодом у Reverb Technologies, материнской компании Wordnik. [4]

В ноябре 2015 года SmartBear объявила, что передает спецификацию Swagger в дар новой организации под названием OpenAPI Initiative при спонсорской поддержке Linux Foundation . Среди других компаний-основателей были 3scale , Apigee , Capital One , Google , IBM , Intuit , Microsoft , PayPal и Restlet. [5] [6]

1 января 2016 года спецификация Swagger была переименована в спецификацию OpenAPI (OAS) и перенесена в новый GitHub репозиторий . [7]

В июле 2017 года OpenAPI Initiative выпустила версию 3.0.0 своей спецификации. [8] MuleSoft , основной разработчик альтернативного языка моделирования RESTful API (RAML), присоединился к OAS и открыл исходный код своего инструмента API Modeling Framework, который может генерировать документы OAS на основе входных данных RAML. [9]

В феврале 2021 года инициатива OpenAPI выпустила версию 3.1.0. [10] Основные изменения в спецификации OpenAPI 3.1.0 включают выравнивание словарей схемы JSON, новые элементы верхнего уровня для описания веб-перехватчиков, которые регистрируются и управляются извне, поддержку идентификации лицензий API с использованием стандартного идентификатора SPDX, разрешение описаний наряду с использованием схемы. ссылки и изменение, делающее объект PathItems необязательным для упрощения создания повторно используемых библиотек компонентов. [11] [12] [13]

Даты выпуска

[ редактировать ]
Версия Дата Примечания [14]
3.1.0 2021-02-15 Выпуск спецификации OpenAPI 3.1.0
3.0.3 2020-02-20 Выпуск исправления спецификации OpenAPI 3.0.3
3.0.2 2018-10-08 Выпуск исправления спецификации OpenAPI 3.0.2
3.0.1 2017-12-06 Выпуск исправления спецификации OpenAPI 3.0.1
3.0.0 2017-07-26 Выпуск спецификации OpenAPI 3.0.0
2.0 2014-09-08 Выпуск Swagger 2.0
1.2 2014-03-14 Первоначальный выпуск официального документа
1.1 2012-08-22 Выпуск Swagger 1.1
1.0 2011-08-10 Первый выпуск спецификации Swagger

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

[ редактировать ]

Приложения, реализованные на основе файлов интерфейса OpenAPI, могут автоматически генерировать документацию по методам, параметрам и моделям данных . Это помогает синхронизировать документацию , клиентские библиотеки и исходный код. [15]

Когда документ OpenAPI используется для создания заглушек исходного кода для серверов, этот процесс называется скаффолдингом .

Отношения с практиками разработки программного обеспечения

[ редактировать ]

Парадигма, при которой сначала согласовывается контракт API, а затем программируется бизнес-логика, в отличие от сначала написания кода программы, а затем написания ретроспективного описания ее поведения в качестве контракта, называется разработкой на основе контракта. Поскольку интерфейс определяется до написания любого кода, разработчики последующих версий могут моделировать поведение сервера и сразу же приступить к тестированию. [16] В этом смысле разработка по контракту также является практикой тестирования со сдвигом влево .

Спецификация OpenAPI не зависит от языка. спецификации ресурсов OpenAPI Благодаря декларативной клиенты могут понимать и использовать сервисы, не зная реализации сервера или не имея доступа к серверному коду. [15]

Инструменты, работающие с OpenAPI

[ редактировать ]

Инициатива OpenAPI поддерживает список реализаций спецификации версии 3.0. SmartBear по-прежнему маркирует свои инструменты OpenAPI прозвищем Swagger. Платформа пользовательского интерфейса Swagger позволяет как разработчикам, так и неразработчикам взаимодействовать с API в пользовательском интерфейсе песочницы, который дает представление о том, как API реагирует на параметры и параметры. Swagger может обрабатывать как JSON , так и XML . [15]

Swagger Codegen содержит механизм на основе шаблонов для создания документации, клиентов API и заглушек сервера на разных языках путем анализа определения OpenAPI. В июле 2018 года Уильям Ченг, ведущий участник Swagger Codegen, и более 40 других участников Swagger Codegen объединили код в проект под названием OpenAPI Generator в рамках организации OpenAPI Tools. [17] [18]

Ежегодная конференция

[ редактировать ]

Инициатива OpenAPI спонсирует ежегодную конференцию по спецификациям API (ASC). Начало этому событию положила Конференция по стратегии и практике API (APIStrat), которая проводилась на протяжении многих лет и стала частью инициативы OpenAPI в 2016 году.

См. также

[ редактировать ]
  1. ^ «Новый совместный проект по расширению спецификации Swagger для создания связанных приложений и сервисов» . Архивировано из оригинала 31 октября 2023 года.
  2. ^ «Устав инициативы OpenAPI» . Инициатива OpenAPI . Проверено 12 ноября 2019 г. .
  3. ^ «Создатель Swagger присоединяется к SmartBear» . Проверено 6 августа 2019 г.
  4. ^ «SmartBear берет на себя спонсорство проекта Swagger API с открытым исходным кодом» . СмартБеар . Проверено 25 марта 2015 г.
  5. ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ" . Инициатива OpenAPI . Проверено 12 ноября 2019 г. .
  6. ^ «Новый совместный проект по расширению спецификации Swagger для создания связанных приложений и сервисов» . linuxfoundation.org . Архивировано из оригинала 27 апреля 2016 года . Проверено 22 апреля 2016 г.
  7. ^ Инициатива OpenAPI. «Спецификация OpenAPI» . Гитхаб . Проверено 12 ноября 2019 г. .
  8. ^ «OAI объявляет о выпуске спецификации OpenAPI 3.0.0» . OpenAPI . 26 июля 2017 года . Проверено 19 апреля 2018 г.
  9. ^ Аврам, Авель (6 мая 2017 г.). «Пространство HTTP API консолидируется вокруг OAS» . ИнфоQ . Проверено 14 мая 2017 г.
  10. ^ «Спецификация OpenAPI 3.1.0 уже доступна» . Linux.com . 26 апреля 2021 г. Проверено 26 апреля 2021 г.
  11. ^ Шарбоно, Тайлер (7 апреля 2021 г.). «Что нового в OpenAPI 3.1.0?» . Скандинавские API . Проверено 7 апреля 2021 г.
  12. ^ «Выпущена спецификация OpenAPI 3.1.0» . Инициатива OpenAPI . 18 февраля 2021 г. Проверено 18 февраля 2021 г.
  13. ^ Стерджен, Фил (16 февраля 2021 г.). «Миграция с OpenAPI 3.0 на 3.1.0» . Инициатива OpenAPI . Проверено 16 февраля 2021 г.
  14. ^ «Спецификация OpenAPI версии 3.1.0» . Гитхаб . Проверено 7 ноября 2023 г.
  15. ^ Перейти обратно: а б с "swagger-api/swagger-spec" . Гитхаб . Архивировано из оригинала 4 июня 2016 года . Проверено 1 декабря 2015 г.
  16. ^ Прейбиш, Саша (2018). Разработка API: практическое руководство для успешного внедрения в бизнесе . [Беркли, Калифорния]: Apress. ISBN  978-1-4842-4140-0 . OCLC   1076234393 . Имея доступный документ Swagger (или, если уж на то пошло, любой другой машиночитаемый документ), члены команды могут одновременно начать работу над своей частью проекта.
  17. ^ Хоппе, Йоханнес (2018). «Swagger Codegen теперь является генератором OpenAPI» . Угловое.Шуле . Проверено 6 августа 2019 г.
  18. ^ «Форк Swagger Codegen: вопросы и ответы» . Генератор OpenAPI . Проверено 6 августа 2019 г.

Библиография

[ редактировать ]
  • Хаупт, Ф.; Карастоянова Д.; Лейманн, Ф.; Шрот, Б. (2014). Модельно-ориентированный подход к REST-совместимым сервисам . ICWS 2014. Международная конференция IEEE по веб-сервисам 2014 . стр. 129–136. дои : 10.1109/ICWS.2014.30 . ISBN  978-1-4799-5054-6 .
  • Паутассо, Чезаре (2021). Красивые API . ЛинПаб. п. 100.
[ редактировать ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9fa6382e87b503dfefb5f2ec8bac5618__1718643480
URL1:https://arc.ask3.ru/arc/aa/9f/18/9fa6382e87b503dfefb5f2ec8bac5618.html
Заголовок, (Title) документа по адресу, URL1:
OpenAPI Specification - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)