Swagger ist eine Sammlung von Tools für API -Entwickler von SmartBear Software [ 1 ] und eine frühere Spezifikation, auf der die OpenAPI-Spezifikation basiert. [ 2 ]

Geschichte

Das Swagger-API-Projekt wurde 2011 von Tony Tam, dem technischen Mitbegründer der Wörterbuch-Website Wordnik, ins Leben gerufen . Während der Entwicklung der Wordnik-Produkte erwies sich die Notwendigkeit der Automatisierung der API-Dokumentation und der Generierung von Client- SDKs als große Herausforderung. Tam entwarf eine einfache JSON- Darstellung der API, die auf der Flexibilität des HTTP- Protokolls aufbaute und viele Funktionen von Tools nutzte, die für das SOAP- Protokoll entwickelt wurden. Das Konzept für die Benutzeroberfläche stammte von Ayush Gupta, der vorschlug, dass eine interaktive Benutzeroberfläche Endnutzern, die die API ausprobieren und damit entwickeln wollten, zugutekommen würde. Ramesh Pidikiti leitete die Implementierung des ersten Codegenerators, und der Designer/Entwickler Zeke Sikelianos prägte den Namen Swagger. [ 3 ] Das Swagger-API-Projekt wurde im September 2011 als Open Source veröffentlicht. Kurz nach der Veröffentlichung wurden dem Projekt mehrere neue Komponenten hinzugefügt, darunter ein eigenständiger Validator und Unterstützung für Node.js und Ruby on Rails .

In den Anfangsjahren von Swagger kam die Plattform zunächst nur von kleinen Unternehmen und unabhängigen Entwicklern. HTTP-APIs besaßen üblicherweise keinen maschinenlesbaren Beschreibungsmechanismus, und Swagger bot eine einfache und leicht auffindbare Möglichkeit, dies zu ändern. Tony wurde zu einem Treffen mit einigen der führenden Köpfe der API-Branche eingeladen, darunter John Musser ( ProgrammableWeb ), Marsh Gardiner ( Apigee , heute ein Google-Produkt), Marco Palladino ( Kong ) und Kin Lane (API Evangelist), um über eine Standardisierung von API-Beschreibungen zu sprechen. Obwohl das Treffen keinen konkreten Plan hervorbrachte, etablierte es Swagger als eine wichtige Innovation im API-Bereich.

Unterstützt durch die Verwendung der Open-Source-Lizenz Apache 2.0 begannen zahlreiche Produkte und Online-Dienste, Swagger in ihr Angebot aufzunehmen. Diese Entwicklung beschleunigte sich rasant, nachdem Apigee, Intuit, Microsoft, IBM und andere Unternehmen das Swagger-Projekt öffentlich unterstützten.

Kurz nach der Entwicklung von Swagger wurden alternative Strukturen zur Beschreibung von HTTP-APIs eingeführt. Die bekanntesten davon waren API Blueprint im April 2013 und die RESTful API Modeling Language (RAML) im September 2013. Obwohl diese Konkurrenzprodukte über eine stärkere finanzielle Unterstützung als Swagger verfügten, konzentrierten sie sich zunächst auf andere Anwendungsfälle als Swagger. Mitte 2014 wuchs das Interesse an Swagger schneller als an den beiden anderen zusammen [Quelle: Google Trends].

Im November 2015 gab SmartBear Software , das Unternehmen hinter Swagger, bekannt, dass es unter der Schirmherrschaft der Linux Foundation an der Gründung einer neuen Organisation namens OpenAPI Initiative beteiligt ist. Zu den Gründungsmitgliedern gehören verschiedene Unternehmen, darunter Google , IBM und Microsoft . [ 4 ]

Am 1. Januar 2016 wurde die Swagger-Spezifikation in OpenAPI-Spezifikation umbenannt und in ein neues Software-Repository auf GitHub verschoben . [ 5 ] Obwohl die Spezifikation selbst unverändert blieb, symbolisierte diese Umbenennung die Trennung zwischen dem API-Beschreibungsformat und den Open-Source-Tools.

Laut den Hosting-Repositories Sonatype und npm wurden Swagger-Tools im Juli 2017 über 100.000 Mal pro Tag heruntergeladen .

Verwendung

Die Nutzung der Open-Source-Tools von Swagger lässt sich in verschiedene Anwendungsfälle unterteilen: Entwicklung, Interaktion mit APIs und Dokumentation.

API-Entwicklung

Bei der API-Erstellung kann das Swagger-Tooling verwendet werden, um automatisch ein Open-API-Dokument basierend auf dem Code zu generieren. Dadurch wird die API-Beschreibung in den Quellcode eines Projekts eingebettet; dies wird umgangssprachlich als Code-First- oder Bottom-up-API-Entwicklung bezeichnet.

Alternativ können Entwickler mit Swagger Codegen den Quellcode vom Open-API-Dokument entkoppeln und Client- und Servercode direkt aus dem Design generieren. Dadurch lässt sich der Codierungsprozess aufschieben.

Interaktion mit APIs

Mithilfe des Swagger Codegen-Projekts können Endbenutzer Client- SDKs direkt aus der OpenAPI-Dokumentation generieren, wodurch der Bedarf an manuell erstelltem Client-Code reduziert wird. Stand August 2017 unterstützte das Swagger Codegen-Projekt über 50 verschiedene Sprachen und Formate für die Generierung von Client-SDKs.

APIs dokumentieren

Wenn eine API in einem OpenAPI-Dokument beschrieben ist, kann das Open-Source-Tool Swagger verwendet werden, um über die Swagger UI direkt mit ihr zu interagieren . Dieses Projekt ermöglicht die direkte Anbindung an Live-APIs über eine interaktive, HTML- basierte Benutzeroberfläche. Anfragen können direkt über die Benutzeroberfläche gestellt und die verschiedenen Optionen erkundet werden. [ 6 ]

Siehe auch

Referenzen

  1. ^ „Über uns“ . API-Dokumentation und Design-Tools für Teams | Swagger . Abgerufen am 24. April 2022 .
  2. ^ „FAQ – OpenAPI Initiative“ . OpenAPI Initiative . Abgerufen am 24. April 2022 .
  3. ^ Ralphson, Mike (17. Dezember 2018). „Eine kurze Geschichte der OpenAPI-Spezifikation“ . DEV Community . Abgerufen am 27. März 2025 .
  4. ^ „Neues Gemeinschaftsprojekt zur Erweiterung der Swagger-Spezifikation für die Entwicklung vernetzter Anwendungen und Dienste“ . www.linuxfoundation.org . Archiviert vom Original am 27. April 2016. Abgerufen am 22. April 2016 .
  5. ^ „Die OpenAPI-Spezifikation“ . GitHub . 19. Februar 2022. Abgerufen am 19. Februar 2023 .
  6. ^ „Dokumentation Ihrer bestehenden APIs: API-Dokumentation leicht gemacht mit OpenAPI & Swagger“ . swagger.io . Abgerufen am 21. März 2023 .