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

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

История

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

В ноябре 2015 года SmartBear объявила о создании новой организации под названием OpenAPI Initiative при спонсорстве Linux Foundation. Включены другие компании-учредители 3 Шкала, Апиги, Capital One, Google, IBM, Intuit, Microsoft, PayPal, и Рестлет.[5][6][7] SmartBear подарил новой группе спецификацию Swagger. RAML и Схема API также находились на рассмотрении группы.[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.0.32020-02-20Выпуск патча спецификации OpenAPI 3.0.3
3.0.22018-10-08Выпуск исправления спецификации OpenAPI 3.0.2
3.0.12017-12-06Выпуск исправления спецификации OpenAPI 3.0.1
3.0.02017-07-26Выпуск спецификации OpenAPI 3.0.0
2.02014-09-08Выпуск Swagger 2.0
1.22014-03-14Первоначальный выпуск официального документа
1.12012-08-22Выпуск Swagger 1.1
1.02011-08-10Первый выпуск спецификации Swagger

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

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

Функции

Спецификация 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 в рамках организации OpenAPI Tools.[16] [17]

Смотрите также

Рекомендации

  1. ^ «Linux Foundation хочет расширить Swagger в подключенных зданиях | Новости Business Cloud». Получено 22 апреля 2016.
  2. ^ «Устав инициативы OpenAPI». Инициатива OpenAPI. Получено 12 ноября 2019.
  3. ^ «Создатель Swagger присоединяется к SmartBear». Получено 6 августа 2019.
  4. ^ «SmartBear предполагает спонсорство проекта с открытым исходным кодом Swagger API». SmartBear. Получено 25 марта 2015.
  5. ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ". Инициатива 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»] Проверять | url = ценить (помощь). Получено 23 апреля 2020.
  15. ^ а б c "swagger-api / swagger-spec". GitHub. Получено 1 декабря 2015.
  16. ^ «Swagger Codegen теперь называется OpenAPI Generator». Получено 6 августа 2019.
  17. ^ "Swagger Codegen Fork: вопросы и ответы". Получено 6 августа 2019.

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

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

внешняя ссылка