„OpenAPI“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Aka (Diskussion | Beiträge) |
OpenAPI definiert HTTP-Schnittstellen; REST-Konformität ist möglich, aber optional |
||
Zeile 1: | Zeile 1: | ||
Die '''OpenAPI Specification''' (vormals ''Swagger Specification'') ist ein Standard zur Beschreibung von [[ |
Die '''OpenAPI Specification''' (vormals ''Swagger Specification'') ist ein Standard zur Beschreibung von [[Hypertext Transfer Protocol|HTTP]]-[[Programmierschnittstelle|Programmierschnittstellen (APIs)]].<ref>{{Internetquelle |url=https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md |titel=OpenAPI-Specification auf GitHub |abruf=2023-04-19}}</ref> |
||
Mit können auch [[Representational State Transfer|REST]]-konforme schnittstellen definiert werden.<ref>{{Internetquelle |url=https://github.com/OAI/OpenAPI-Specification |titel=OpenAPI-Quellcode auf GitHub |abruf=2023-04-19}}</ref> |
|||
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.<ref>{{Internetquelle |url=https://www.openapis.org/about |titel=Über die OpenAPI Initiative |abruf=2019-12-30}}</ref> Das Projekt wird von der [[Linux Foundation]] unterstützt.<ref>{{Internetquelle |url=https://www.linuxfoundation.org/projects/ |titel=Projekte der Linux Foundation |abruf=2019-12-30}}</ref> |
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.<ref>{{Internetquelle |url=https://www.openapis.org/about |titel=Über die OpenAPI Initiative |abruf=2019-12-30}}</ref> Das Projekt wird von der [[Linux Foundation]] unterstützt.<ref>{{Internetquelle |url=https://www.linuxfoundation.org/projects/ |titel=Projekte der Linux Foundation |abruf=2019-12-30}}</ref> |
||
Version vom 19. April 2023, 08:02 Uhr
Die OpenAPI Specification (vormals Swagger Specification) ist ein Standard zur Beschreibung von HTTP-Programmierschnittstellen (APIs).[1] Mit 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]).
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 Bespielen
- 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.
- ↑ a b 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.