Сваггер (программное обеспечение)
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2018 г. ) |
![]() | |
Разработчик(и) | Программное обеспечение SmartBear |
---|---|
Первоначальный выпуск | 2011 год |
Репозиторий | https://github.com/swagger-api |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | развязность |
Swagger — набор инструментов для разработчиков API от SmartBear Software. [1] и бывшая спецификация, на которой спецификация OpenAPI . основана [2]
История
[ редактировать ]Проект Swagger API был создан в 2011 году Тони Тэмом, техническим соучредителем словарного сайта Wordnik . необходимость автоматизации документации API и создания клиентского SDK Во время разработки продуктов Wordnik основным источником разочарований стала . Тэм разработал простое формате JSON представление API в , опираясь на гибкость протокола HTTP и используя множество функций инструментов, созданных для протокола SOAP . Идея пользовательского интерфейса была предложена Аюшем Гуптой, который предположил, что интерактивный пользовательский интерфейс принесет пользу конечным пользователям, которые хотят «опробовать» и разработать API. Рамеш Пидикити руководил реализацией исходного генератора кода, а дизайнер/разработчик Зик Сикелианос придумал название Swagger. Проект Swagger API стал открытым исходным кодом в сентябре 2011 года. Вскоре после релиза в проект был добавлен ряд новых компонентов, включая автономный валидатор, поддержку Node.js и Ruby on Rails .
В первые годы существования Swagger скромная поддержка исходила от небольших компаний и независимых разработчиков. HTTP API обычно не имели машиночитаемого механизма описания, и Swagger предоставил простой и понятный способ сделать это. Тони был приглашен на встречу с некоторыми лидерами индустрии API, включая Джона Массера ( ProgrammableWeb ), Марша Гардинера ( Apigee , теперь продукт Google), Марко Палладино ( Конг ) и Кина Лейна (евангелист API), чтобы обсудить усилия по стандартизации. вокруг описаний API. Хотя на встрече не было выработано конкретного плана действий, она представила Swagger как важнейшую инновацию в сфере API.
Благодаря использованию лицензии с открытым исходным кодом Apache 2.0 ряд продуктов и онлайн-сервисов начали включать Swagger в свои предложения, что быстро ускорилось после принятия Apigee, Intuit, Microsoft, IBM и других, которые начали публично поддерживать проект Swagger. .
Вскоре после создания Swagger были представлены альтернативные структуры для описания HTTP API, наиболее популярными из которых были API Blueprint в апреле 2013 года и RESTful API Modeling Language (RAML) в сентябре 2013 года. Хотя эти конкурирующие продукты имели более сильную финансовую поддержку, чем Swagger, изначально они были ориентированы на в различных вариантах использования от Swagger, и по состоянию на середину 2014 года интерес к Swagger рос быстрее, чем к комбинации двух других [источник: Google Trends].
В ноябре 2015 года SmartBear Software , компания, которая поддерживала Swagger, объявила, что помогает создать новую организацию под спонсорством Linux Foundation , названную OpenAPI Initiative. Членами-учредителями являются различные компании, в том числе Google , IBM и Microsoft . [3]
1 января 2016 года спецификация Swagger была переименована в спецификацию OpenAPI и перенесена в новый репозиторий программного обеспечения на GitHub . [4] Хотя сама спецификация не была изменена, это переименование означало раскол между форматом описания API и инструментами с открытым исходным кодом.
по состоянию на июль 2017 года инструменты Swagger загружались более 100 000 раз в день. По данным хостинговых репозиториев Sonatype и npm , [ нужна ссылка ]
Использование
[ редактировать ]Использование инструментов Swagger с открытым исходным кодом можно разделить на различные варианты использования: разработка, взаимодействие с API и документация.
Разработка API
[ редактировать ]При создании API можно использовать инструменты Swagger для автоматического создания документа Open API на основе самого кода. Это встраивает описание API в исходный код проекта и неофициально называется разработкой API «сначала код» или «снизу вверх».
Альтернативно, используя Swagger Codegen , разработчики могут отделить исходный код от документа Open API и генерировать клиентский и серверный код непосредственно из проекта. Это позволяет отложить аспект кодирования.
Взаимодействие с API
[ редактировать ]Используя проект Swagger Codegen, конечные пользователи генерируют клиентские SDK непосредственно из документа OpenAPI, что снижает потребность в клиентском коде, создаваемом человеком. По состоянию на август 2017 года проект Swagger Codegen поддерживал более 50 различных языков и форматов для создания клиентского SDK.
Документирование API
[ редактировать ]Инструменты Swagger с открытым исходным кодом, описанные в документе OpenAPI, могут использоваться для непосредственного взаимодействия с API через пользовательский интерфейс Swagger . Этот проект позволяет напрямую подключаться к действующим API через интерактивный пользовательский интерфейс на основе HTML . Запросы могут быть сделаны непосредственно из пользовательского интерфейса и опций, изучаемых пользователем интерфейса. [5]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ "О" . Документация API и инструменты проектирования для команд | Сваггер . Проверено 24 апреля 2022 г.
- ^ «Часто задаваемые вопросы — Инициатива OpenAPI» . Инициатива OpenAPI . Проверено 24 апреля 2022 г.
- ^ «Новый совместный проект по расширению спецификации Swagger для создания связанных приложений и сервисов» . www.linuxfoundation.org . Архивировано из оригинала 27 апреля 2016 года . Проверено 22 апреля 2016 г.
- ^ «Спецификация OpenAPI» . Гитхаб . 19 февраля 2022 г. Проверено 19 февраля 2023 г.
- ^ «Документирование существующих API: документирование API стало проще с помощью OpenAPI и Swagger» . Swagger.io . Проверено 21 марта 2023 г.