Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

История [ править ]

Разработка Swagger началась в начале 2010 года Тони Тэмом, который работал в компании Wordnik, занимающейся онлайн-словарями . [3] В марте 2015 года SmartBear Software приобрела спецификацию Swagger API с открытым исходным кодом у Reverb Technologies, материнской компании Wordnik. [4]

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

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

В сентябре 2016 года конференция API World вручила SmartBear награду за инфраструктуру API за постоянную работу над Swagger. [11]

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

Даты выпуска [ править ]

Использование [ править ]

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

Особенности [ править ]

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

Инструменты, которые работают с OpenAPI [ править ]

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

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

В 2021 году OasLive открывает свою платформу, чтобы предоставить доступ к визуализатору спецификаций OpenApi и Mock Server, синхронизируя спецификации через Github, Gitlab, CI / CD, чтобы ускорить рабочий процесс разработки API.

См. Также [ править ]

  • Изобразительное State Transfer
  • Обзор языков описания RESTful API, включая RAML, WADL, WSDL и другие.

Ссылки [ править ]

  1. ^ «Linux Foundation хочет расширить Swagger в подключенных зданиях | Business Cloud News» . Проверено 22 апреля 2016 года .
  2. ^ «Хартия инициативы OpenAPI» . Инициатива OpenAPI . Проверено 12 ноября 2019 .
  3. ^ «Создатель Swagger присоединяется к SmartBear» . Проверено 6 августа 2019 .
  4. ^ «SmartBear предполагает спонсорство проекта с открытым исходным кодом Swagger API» . SmartBear . Проверено 25 марта 2015 года .
  5. ^ "FAQ" . Инициатива OpenAPI . Проверено 12 ноября 2019 .
  6. ^ «SmartBear, Linux Foundation запускают инициативу Open API для развития Swagger» . ПрограммируемыйWeb . 10 ноября 2015 . Проверено 21 апреля 2016 года .
  7. ^ «Новый совместный проект по расширению спецификации Swagger для создания подключенных приложений и служб» . www.linuxfoundation.org . Архивировано из оригинального 27 апреля 2016 года . Проверено 22 апреля 2016 года .
  8. ^ Montcheuil, Ив де. «В 2016 году потребность в метаязыке API кристаллизуется» . InfoWorld . Проверено 25 апреля 2016 года .
  9. ^ «Amazon API Gateway теперь поддерживает импорт определений Swagger» . InfoQ . Проверено 25 апреля 2016 года .
  10. ^ Инициатива OpenAPI. «Спецификация OpenAPI» . GitHub . Проверено 12 ноября 2019 .
  11. ^ «Swagger выигрывает премию API 2016 за инфраструктуру API» . Блог Swagger . Проверено 27 июля 2018 года .
  12. ^ «OAI объявляет о спецификации OpenAPI 3.0.0» . OpenAPI . Проверено 19 апреля 2018 года .
  13. ^ «Пространство HTTP API консолидируется вокруг OAS» . InfoQ . Дата обращения 14 мая 2017 .
  14. ^ [b «Спецификация OpenAPI версии 3.0.4»] Проверить значение ( справка ) . Проверено 23 апреля 2020 года .|url=
  15. ^ a b c "swagger-api / swagger-spec" . GitHub . Проверено 1 декабря 2015 года .
  16. ^ «Swagger Codegen теперь является генератором OpenAPI» . Проверено 6 августа 2019 .
  17. ^ "Swagger Codegen Fork: Q&A" . Проверено 6 августа 2019 .

Библиография [ править ]

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

Внешние ссылки [ править ]

  • Веб-сайт инициативы OpenAPI (OAI)
  • Веб-сайт Swagger
  • Спецификация OpenAPI на GitHub
  • Каталог определений OpenAPI
  • Редактор OpenAPI: многофункциональный редактор пользовательского интерфейса Eclipse OpenAPI (OAS) и студия для проектирования, разработки и тестирования OAS3 / OpenAPI.
  • OpenAPI для электронного обмена данными (EDI)
  • Редактор OpenAPI от Remain API Studio. Богатый редактор OpenAPI и среда разработки, полностью соответствующая спецификациям OAS3.
  • Редактор OpenAPI и вики по использованию Test Studio