Zum Inhalt springen

„OpenAPI“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K linkfix
Zeile 13: Zeile 13:
{{Hauptartikel|Swagger (Software)}}
{{Hauptartikel|Swagger (Software)}}
Swagger bietet eine Sammlung von [[Open Source|Open-Source]]-Werkzeugen, um APIs zu entwickeln, die konform zur OpenAPI-Spezifikation sind:<ref>{{Internetquelle |url=https://swagger.io/tools/open-source/ |titel=OpenAPI Open-Source Werkzeuge |abruf=2019-12-30}}</ref>
Swagger bietet eine Sammlung von [[Open Source|Open-Source]]-Werkzeugen, um APIs zu entwickeln, die konform zur OpenAPI-Spezifikation sind:<ref>{{Internetquelle |url=https://swagger.io/tools/open-source/ |titel=OpenAPI Open-Source Werkzeuge |abruf=2019-12-30}}</ref>

* ''Swagger Editor'' unterstützt beim Erzeugen der API-Definition
; Swagger Editor
* ''Swagger Codegen'' generiert Server [[Stub (Programmierung)|Stubs]] und Client SDKs
: unterstützt beim Erzeugen der API-Definition
* ''Swagger UI'' erzeugt Dokumentation
; Swagger Codegen
: generiert Server [[Stub (Programmierung)|Stubs]] und Client SDKs
; Swagger UI
: erzeugt Dokumentation

Daneben existieren auch kostenpflichtige Werkzeuge:
Daneben existieren auch kostenpflichtige Werkzeuge:
* ''SwaggerHub'' für Kollaboration
; SwaggerHub
: für Kollaboration
* ''SwaggerHub Enterprise'' für Unternehmen, verfügbar in der Cloud oder On-Premises
; SwaggerHub Enterprise
: für Unternehmen, verfügbar in der Cloud oder On-Premises
* ''Swagger Inspector'' für Testzwecke
; Swagger Inspector
: für Testzwecke
; APITree
* ''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.
: 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.<ref>{{Internetquelle |url=https://marketplace.visualstudio.com/items?itemName=42Crunch.vscode-openapi |titel=OpenAPI-Editor für Visual Studio Code |abruf=2019-12-30}}</ref><ref>{{Internetquelle |url=https://marketplace.eclipse.org/search/site/OpenAPI |titel=OpenAPI-Tools für Eclipse |abruf=2019-12-30}}</ref>
Auch für verschiedene Entwicklungsumgebungen existieren Erweiterungen zur Unterstützung von OpenAPI.<ref>{{Internetquelle |url=https://marketplace.visualstudio.com/items?itemName=42Crunch.vscode-openapi |titel=OpenAPI-Editor für Visual Studio Code |abruf=2019-12-30}}</ref><ref>{{Internetquelle |url=https://marketplace.eclipse.org/search/site/OpenAPI |titel=OpenAPI-Tools für Eclipse |abruf=2019-12-30}}</ref>

Version vom 5. Dezember 2023, 16:43 Uhr

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