Swagger (программное обеспечение) - Swagger (software)

Чванство
Логотип Swagger
Разработчики)Программное обеспечение SmartBear
изначальный выпуск2011; 9 лет назад (2011)
ЛицензияЛицензия Apache 2.0
Интернет сайтчванство.io

Чванство является Язык описания интерфейса для описания RESTful API, выраженные с использованием JSON.Swagger используется вместе с набором программное обеспечение с открытым исходным кодом инструменты для проектирования, создания, документирования и использования RESTful веб-сервисы.Swagger включает автоматизированную документацию, генерацию кода (на многих языках программирования) и генерацию тестовых примеров.

История

Проект Swagger API был создан в 2011 году Тони Тэмом,[1] технический соучредитель словарного сайта Wordnik. При разработке продуктов Wordnik возникла необходимость автоматизации документации API и клиента. SDK поколение стало главным источником разочарования. Тэм разработал простой JSON представление API, основанное на гибкости стиля архитектуры REST и использующее множество функций инструментов, созданных для МЫЛО протокол. Концепция пользовательского интерфейса была предложена Аюшом Гуптой, который предположил, что интерактивный пользовательский интерфейс принесет пользу конечным пользователям, желающим «опробовать» и развить API. Рамеш Пидикити руководил реализацией исходного генератора кода, а дизайнер / разработчик Зик Сикелианос придумал название Swagger. Проект Swagger API был открыт в сентябре 2011 года. Вскоре после выпуска в проект был добавлен ряд новых компонентов, включая автономный валидатор, поддержку Node.js, и Рубин на рельсах.

В первые годы Swagger скромная поддержка исходила от небольших компаний и независимых разработчиков. API-интерфейсы RESTful обычно не имели механизма машиночитаемого описания, и Swagger предоставил простой и понятный способ сделать это. Тэм был приглашен на встречу с некоторыми из лидеров идей индустрии API, включая Джона Массера (ПрограммируемыйWeb ), Марш Гардинер (Апиги, теперь продукт Google), Марко Палладино (Kong ) и Кин Лейн (евангелист API), чтобы обсудить усилия по стандартизации описаний API. Несмотря на то, что встреча не дала конкретного плана, она сделала Swagger важным нововведением в области API.

Благодаря использованию лицензии Apache 2.0 с открытым исходным кодом, ряд продуктов и онлайн-сервисов начали включать Swagger в свои предложения, которые быстро ускорились после принятия Apigee, Intuit, Microsoft, IBM и другими, которые начали публично поддерживать проект Swagger. .

Вскоре после создания Swagger были представлены альтернативные структуры для описания RESTful API, самые популярные из которых - API Blueprint в апреле 2013 года и RAML в сентябре 2013 года. Хотя эти конкурирующие продукты имели более сильную финансовую поддержку, чем Swagger, изначально они были ориентированы на различные варианты использования от Swagger, а по состоянию на середину 2014 года интерес к Swagger рос быстрее, чем к комбинации двух других [источник: Google Trends ].

В ноябре 2015 г. Программное обеспечение SmartBear, компания, поддерживающая Swagger, объявила, что помогает создать новую организацию при спонсорской поддержке Linux Foundation, называется OpenAPI Initiative. Различные компании, в том числе Google, IBM, и Microsoft являются членами-основателями.[2]

1 января 2016 года спецификация Swagger была переименована в Спецификация OpenAPI, и был перемещен в новый репозиторий программного обеспечения на GitHub.[3] Хотя сама спецификация не изменилась, это переименование означало разрыв между форматом описания API и инструментами с открытым исходным кодом.

По данным на июль 2017 года, инструменты Swagger загружались более 100000 раз в день, согласно репозиториям хостинга 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

При описании в документе OpenAPI инструментарий Swagger с открытым исходным кодом может использоваться для непосредственного взаимодействия с API через Swagger UI. Этот проект позволяет напрямую подключаться к действующим API через интерактивный, HTML пользовательский интерфейс на основе. Запросы могут быть сделаны прямо из пользовательского интерфейса, а параметры могут быть изучены пользователем интерфейса.

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

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

  1. ^ "Swagger-Creating Rest API / Services". www.linkedin.com.
  2. ^ «Новый совместный проект по расширению спецификации Swagger для создания подключенных приложений и служб». www.linuxfoundation.org. Архивировано из оригинал 27 апреля 2016 г.. Получено 22 апреля 2016.
  3. ^ https://github.com/OAI/OpenAPI-Specification

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