OpenAPI
Die OpenAPI Specification (vormals Swagger Specification) ist ein Standard zur Beschreibung von HTTP-Programmierschnittstellen (APIs).[1] Mit ihr können auch REST-konforme Schnittstellen definiert werden.[2] Gefördert wird die Spezifikation von der OpenAPI Initiative. Die Initiative verfolgt die Vision, im Sinne einer vernetzten Welt ein offenes und herstellerneutrales Beschreibungsformat für API-Dienste bereitzustellen.[3] Das Projekt wird von der Linux Foundation unterstützt.[4]
OpenAPI ist für APIs mit synchroner Kommunikation ausgelegt.[5] Für asynchrone API-Kommunikation mit unterschiedlichen Transportprotokollen ist AsyncAPI als Beschreibungsstandard entstanden, der sich am OpenAPI-Konzept anlehnt.[5]
Geschichte
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.[6]
Die aktuelle Version der OpenAPI-Specification ist 3.1.0.[7]
Werkzeuge
Swagger bietet eine Sammlung von Open-Source-Werkzeugen, um APIs zu entwickeln, die konform zur OpenAPI-Spezifikation sind:[8]
- 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.[9][10]
Literatur
- 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).
Weblinks
- 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
- OpenAPI-Specification auf GitHub. Abgerufen am 19. April 2023.
- OpenAPI-Quellcode auf GitHub. Abgerufen am 19. April 2023.
- Über die OpenAPI Initiative. Abgerufen am 30. Dezember 2019.
- Projekte der Linux Foundation. Abgerufen am 30. Dezember 2019.
- 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.