OpenAPI-Spezifikation - OpenAPI Specification

Die OpenAPI-Spezifikation , früher bekannt als Swagger-Spezifikation , ist eine Spezifikation für maschinenlesbare Schnittstellendateien zum Beschreiben, Produzieren, Konsumieren und Visualisieren von RESTful- Webdiensten . Früher Teil des Swagger- Frameworks wurde es 2016 zu einem separaten Projekt, das von der OpenAPI Initiative, einem Open-Source-Kollaborationsprojekt der Linux Foundation, betreut wird . Swagger und einige andere Tools können mit einer Schnittstellendatei Code, Dokumentation und Testfälle generieren.

Geschichte

Die Entwicklung von Swagger begann Anfang 2010 von Tony Tam, der bei der Online-Wörterbuchfirma Wordnik arbeitete . Nach einem Meetup-Gespräch mit Kin Lane (OpenAPI-Lenkungsausschuss) und Tony Tam am 12. Juni 2014 wandte sich Kin Lane an Owen Rubel , der an einem ähnlichen Ansatz arbeitete, und lieh sich seine Ideen für die neue Swagger 2.0-Spezifikation (die schließlich zu OpenAPI werden sollte). .

Im März 2015 erwarb SmartBear Software die Open-Source-Spezifikation Swagger API von Reverb Technologies, der Muttergesellschaft von Wordnik.

Im November 2015 gab SmartBear bekannt, dass es unter der Schirmherrschaft der Linux Foundation eine neue Organisation namens OpenAPI Initiative gründet . Andere Gründungsmitglieder waren 3scale , Apigee , Capital One , Google , IBM , Intuit , Microsoft , PayPal und Restlet. SmartBear hat der neuen Gruppe die Swagger-Spezifikation gespendet. RAML und API Blueprint wurden von der Gruppe ebenfalls in Erwägung gezogen.

Am 1. Januar 2016 wurde die Swagger-Spezifikation in OpenAPI Specification (OAS) umbenannt und in ein neues GitHub- Repository verschoben .

Im September 2016 verlieh die API World-Konferenz SmartBear einen API Infrastructure Award für seine laufende Arbeit an Swagger.

Im Juli 2017 hat die OpenAPI Initiative die Version 3.0.0 ihrer Spezifikation veröffentlicht. MuleSoft , der Hauptbeitragende zur alternativen RESTful API Modeling Language (RAML), ist dem OAS beigetreten und hat sein API Modeling Framework-Tool, das OAS-Dokumente aus RAML-Eingaben generieren kann, als Open Source bereitgestellt.

Im Februar 2021 hat die OpenAPI Initiative die Version 3.1.0 veröffentlicht. Zu den wichtigsten Änderungen in der OpenAPI-Spezifikation 3.1.0 gehören die Ausrichtung von JSON-Schema-Vokabularen, ein neues Element der obersten Ebene zur Beschreibung von Webhooks, die außerhalb des Bandes registriert und verwaltet werden, Unterstützung für die Identifizierung von API-Lizenzen mithilfe der standardmäßigen SPDX-Kennung und das PathItems-Objekt kann jetzt optional erstellt werden es einfacher, wiederverwendbare Bibliotheken von Komponenten zu erstellen.

Erscheinungsdaten

Ausführung Datum Anmerkungen
3.1.0 2021-02-15 Veröffentlichung der OpenAPI-Spezifikation 3.1.0
3.0.3 2020-02-20 Patch-Release der OpenAPI-Spezifikation 3.0.3
3.0.2 2018-10-08 Patch-Release der OpenAPI-Spezifikation 3.0.2
3.0.1 2017-12-06 Patch-Release der OpenAPI-Spezifikation 3.0.1
3.0.0 2017-07-26 Veröffentlichung der OpenAPI-Spezifikation 3.0.0
2.0 2014-09-08 Veröffentlichung von Swagger 2.0
1,2 2014-03-14 Erste Veröffentlichung des formellen Dokuments
1.1 2012-08-22 Veröffentlichung von Swagger 1.1
1.0 2011-08-10 Erste Veröffentlichung der Swagger-Spezifikation

Verwendungszweck

Auf Basis von OpenAPI-Schnittstellendateien implementierte Anwendungen können automatisch eine Dokumentation von Methoden, Parametern und Modellen generieren. Dies trägt dazu bei, die Dokumentation , Clientbibliotheken und den Quellcode synchron zu halten.

Merkmale

Die OpenAPI-Spezifikation ist sprachunabhängig. Mit der deklarativen Ressourcenspezifikation von OpenAPI können Clients Dienste verstehen und nutzen, ohne die Serverimplementierung oder den Zugriff auf den Servercode zu kennen.

Tools, die mit OpenAPI arbeiten

Die OpenAPI-Initiative unterhält eine Liste von Implementierungen für Version 3.0 der Spezifikation. SmartBear bezeichnet seine OpenAPI-Tools immer noch mit dem Spitznamen Swagger. Das Swagger-UI-Framework ermöglicht sowohl Entwicklern als auch Nicht-Entwicklern die Interaktion mit der API in einer Sandbox-UI, die Einblicke in die Reaktion der API auf Parameter und Optionen gibt. Swagger kann sowohl JSON als auch XML verarbeiten .

Swagger Codegen enthält eine vorlagengesteuerte Engine zum Generieren von Dokumentation, API-Clients und Server-Stubs in verschiedenen Sprachen durch das Parsen der OpenAPI-Definition. Im Juli 2018, William Cheng, der größte Beitrag zum Swagger Codegen, und mehr als 40 andere Mitwirkenden zu Swagger Codegen gegabelt den Code in ein Projekt mit dem Namen OpenAPI Generator unter der OpenAPI Werkzeugen Organisation.

Jährliche Konferenz

Die OpenAPI Initiative sponsert jährlich eine API Specifications Conference (ASC). Die Veranstaltung hat ihren Ursprung in der langjährigen API Strategy and Practice Conference (APIStrat), die 2016 Teil der OpenAPI Initiative wurde.

Siehe auch

Verweise

Literaturverzeichnis

  • Haupt, F.; Karastoyanova, D.; Leymann, F.; Schroth, B. (2014). Ein modellgetriebener Ansatz für REST-konforme Dienste . ICWS 2014. 2014 IEEE International Conference on Web Services . S. 129–136. doi : 10.1109/ICWS.2014.30 . ISBN 978-1-4799-5054-6.
  • Pautasso, Cesare (2021). Schöne APIs . LeanPub. P. 100.

Externe Links