Zum Inhalt springen

OpenAPI

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. Dezember 2022 um 22:47 Uhr durch Ocrho (Diskussion | Beiträge) (Ergänzung um AsyncAPI). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die OpenAPI Specification (vormals Swagger Specification) ist ein Standard zur Beschreibung von REST-konformen Programmierschnittstellen (API).[1] 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.[2] Das Projekt wird von der Linux Foundation unterstützt.[3]

OpenAPI ist für HTTP-basierte APIs mit synchroner Kommunikation ausgelegt.[4] Für asyncroner API-Kommunikation mit unterschiedlichen Transportprotokollen ist AsyncAPI als Beschreibungsstandard entstanden der sich am OpenAPI-Konzept anlehnt.[4]

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.[5]

Die aktuelle Version der OpenAPI-Specification ist 3.1.0.[6]

Werkzeuge

Swagger bietet eine Sammlung von Open-Source-Werkzeugen, um APIs zu entwickeln, die konform zur OpenAPI-Spezifikation sind:[7]

  • 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.[8][9]

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).
  • Manuel Ottlik: REST-APIs dokumentieren nach OpenAPI-Standard. In: c’t. Nr. 5, 2020, S. 136–139 (heise.de [abgerufen am 22. Februar 2020]).

Beispiele:

Einzelnachweise

  1. OpenAPI-Specification auf GitHub. Abgerufen am 30. Dezember 2019.
  2. Über die OpenAPI Initiative. Abgerufen am 30. Dezember 2019.
  3. Projekte der Linux Foundation. Abgerufen am 30. Dezember 2019.
  4. a b Thilo Frotscher: AsyncAPI: Asynchrone Kommunikation für IoT und Microservices meistern. In: Heise online. 16. Dezember 2022. Abgerufen am 18. Dezember 2022.
  5. Mitglieder der OpenAPI Initiative. Abgerufen am 30. Dezember 2019.
  6. Releases der OpenAPI-Specification. Abgerufen am 24. September 2020.
  7. OpenAPI Open-Source Werkzeuge. Abgerufen am 30. Dezember 2019.
  8. OpenAPI-Editor für Visual Studio Code. Abgerufen am 30. Dezember 2019.
  9. OpenAPI-Tools für Eclipse. Abgerufen am 30. Dezember 2019.