OpenAPI
Die OpenAPI Specification (OAS) ist eine quelloffene, herstellerunabhängige Spezifikation innerhalb der OpenAPI Initiative und ein Projekt der Linux Foundation. OAS definiert einen programmiersprachen-unabhängigen Standard zur Beschreibung von HTTP-Programmierschnittstellen (APIs). Dies soll sowohl Menschen als auch Maschinen ermöglichen, die Möglichkeiten einer Schnittstelle zu entdecken und zu verstehen, ohne die Notwendigkeit auf zusätzliche Dokumentation, Quellcode oder Analyse von Netzwerkverkehr zurückzugreifen. Der Nutzer der API soll damit in die Lage versetzt werden, mit minimalem Implementierungsaufwand mit der Schnittstelle zu interagieren.
Anwendungsbeispiele sind interaktive Dokumentationen, Code-Generierung und Test-Automatisierung.
OAS erfordert keine Änderungen an existierenden APIs, die Beschreibung muss nicht zwingend vom Ersteller der API zur Verfügung gestellt werden. Es können allerdings nicht alle Arten von HTTP-Schnittstellen mit OAS beschrieben werden. REST-konforme Schnittstellen werden unterstützt.[1] Für asynchrone API-Kommunikation mit unterschiedlichen Transportprotokollen ist AsyncAPI als Beschreibungsstandard entstanden, der sich am OpenAPI-Konzept anlehnt.[2]
Geschichte
[Bearbeiten | Quelltext bearbeiten]Die OpenAPI-Specification begann als Teil des Softwareprojekts Swagger, einem Open-Source-Framework für HTTP-Webservices. Im Jahr 2016 wurde sie ein eigenständiges Projekt, das von der OpenAPI Initiative verwaltet wird, zu deren Mitgliedern Unternehmen wie Atlassian, Google, IBM, Microsoft, PayPal und SAP zählen.[3]
Die aktuelle Version der OpenAPI-Specification ist 3.1.0.[4]
Werkzeuge
[Bearbeiten | Quelltext bearbeiten]Swagger bietet eine Sammlung von Open-Source-Werkzeugen, um APIs zu entwickeln, die konform zur OpenAPI-Spezifikation sind:[5]
- Swagger Editor
- unterstützt beim Erzeugen der API-Definition
- Swagger Codegen
- generiert Server Stubs und Client SDKs
- Swagger UI
- erzeugt Dokumentation
Daneben existieren auch kostenpflichtige Werkzeuge:
- SwaggerHub
- für Kollaboration
- SwaggerHub Enterprise
- für Unternehmen, verfügbar in der Cloud oder On-Premises
- Swagger Inspector
- für Testzwecke
- APITree
- wandelt OpenAPI-Spezifikationen 2.0 und 3.0 in menschenlesbare API-Dokumentationen um, die über einen HUB kostenlos in der Cloud verwaltet und geteilt werden können.
Auch für verschiedene Entwicklungsumgebungen existieren Erweiterungen zur Unterstützung von OpenAPI.[6][7]
Literatur
[Bearbeiten | Quelltext bearbeiten]- Stefan Sauterleute, Michael Heiß, Christopher Köster: Einstieg in OpenAPI v3: REST wird erwachsen. In: Entwickler Magazin. Nr. 1, 2018, S. ? (entwickler.de [abgerufen am 24. Februar 2020] Kostenlose Onlineversion).
- Manuel Ottlik: REST-APIs dokumentieren nach OpenAPI-Standard. In: c’t. Nr. 5, 2020, S. 136–139 (heise.de [abgerufen am 22. Februar 2020]).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- openapis.org – Offizielle Website der OpenAPI Initiative
- OpenAPI auf GitHub
Beispiele:
- petstore.swagger.io – fiktiver Server zur Demonstration von OpenAPI
- hub.apitree.com – Öffentliches Verzeichnis von OpenAPI-Projekten mit interaktiven Beispielen
- github.com/… – OpenAPI Dokumente in .NET
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ OAI/OpenAPI-Specification. OpenAPI Initiative, 13. September 2024, abgerufen am 13. September 2024.
- ↑ Thilo Frotscher: AsyncAPI: Asynchrone Kommunikation für IoT und Microservices meistern. In: Heise online. 16. Dezember 2022. Abgerufen am 18. Dezember 2022.
- ↑ Mitglieder der OpenAPI Initiative. Abgerufen am 30. Dezember 2019.
- ↑ Releases der OpenAPI-Specification. Abgerufen am 24. September 2020.
- ↑ OpenAPI Open-Source Werkzeuge. Abgerufen am 30. Dezember 2019.
- ↑ OpenAPI-Editor für Visual Studio Code. Abgerufen am 30. Dezember 2019.
- ↑ OpenAPI-Tools für Eclipse. Abgerufen am 30. Dezember 2019.