Swift OpenAPI Generator erreicht 1.0

#Swift #OpenAPI #Generator #erreicht

Der Swift OpenAPI Generator wurde vor sechs Monaten als Open-Source-Version bereitgestellt und ist jetzt stabil. Version 1.0 bringt neue Funktionen und eine vereinfachte API.

Der Swift OpenAPI Generator ist ein Open-Source-Swift-Paket-Plugin, mit dem automatisch der Code generiert werden kann, der für den Zugriff auf oder die Implementierung von HTTP-Endpunkten erforderlich ist, die mit OpenAPI beschrieben werden. Das Plugin kann zur Build-Zeit ausgeführt werden, um sicherzustellen, dass der generierte Code immer mit der neuesten OpenAPI-Beschreibung der API auf dem neuesten Stand ist, und ist in der Lage, Code für API-Aufrufe sowie Stubs zur Integration in die entsprechenden zu generieren serverseitige Dienste.

Zu den neuen Funktionen von Release 1.0 gehört die Einführung von AsyncSequence um JSON-Ereignisströme und große Nutzlasten ohne Pufferung zu ermöglichen; Unterstützung für typsichere gängige Inhaltstypen, einschließlich JSON, Multipart, URL-codiert usw.; und bessere Entkopplung des generierten Codes dank flexibler Abstraktionen auf Client- und Serverseite.

Auf der Clientseite erstellt der Swift OpenAPI Generator Klassen, die mit jedem HTTP-Framework arbeiten können, das das ClientTransport-Protokoll unterstützt. Auf der Serverseite ist jedes Webframework, das dem ServerTransport-Protokoll entspricht, damit kompatibel.

Während Sie sich bemühen, die API-Stabilität sicherzustellen, besteht die Möglichkeit, dass nach der Überarbeitung einer OpenAPI-Spezifikation der generierte Code Ihr Programm kaputt macht und Sie seine Verwendung korrigieren müssen. Dies kann sich sowohl auf den clientseitigen als auch auf den serverseitigen Code auswirken.

Wenn Sie ein OpenAPI-Dokument ändern, um eine neue Antwort hinzuzufügen, einen neuen Inhaltstyp hinzuzufügen, eine erforderliche Eigenschaft zu entfernen oder ein Schema umzubenennen, sind im Allgemeinen Änderungen an Ihrem Swift-Code erforderlich, damit er mit neu generiertem Code funktioniert.

Wenn Sie beispielsweise eine neue Antwort zu einem vorhandenen Vorgang oder einen neuen Inhaltstyp zu einer vorhandenen Antwort hinzufügen, erstellt der Swift OpenAPI Generator eine neue enum Fall, um damit umzugehen. Das bedeutet alles switch Aussagen, die das verwenden enum müssen diesen neuen Fall explizit ansprechen, um die Compilerprüfung zu bestehen, es sei denn, sie implementieren a default Fall. Natürlich default case stellt sicher, dass Ihr Programm zur Kompilierungszeit nicht abstürzt, aber das bedeutet nicht unbedingt, dass es das richtige Ergebnis liefert.

Lesen Sie auch  Seltene Erden: ein Ass im Spiel Chinas mit dem Westen

Ein etwas anderer Fall liegt beim Hinzufügen einer neuen Eigenschaft zu einem vorhandenen Schema vor. Diese Art von Änderung ist unschädlich, wenn Ihr Code dies nicht erfasst init Methodensignatur für die entsprechende struct, was sich zwangsläufig ändert, um der neuen Eigenschaft Rechnung zu tragen. Als allgemeine Regel gilt, dass Sie den generierten Code, der Schemainitialisierer enthält, niemals in Ihre öffentlichen APIs aufnehmen sollten.

Der Swift OpenAPI Generator 1.0 ist mit den OpenAPI 3.0- und 3.1-Spezifikationen kompatibel und kann im Swift Package Index verfügbar sein.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.