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