Einführung in die Funktionsweise von Frends-APIs

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Einführung

Das Schreiben einer OpenAPI-Spezifikation ist der erste Schritt beim Erstellen von APIs mit Frends. Die OpenAPI-Spezifikation dient als Blaupause, in der der API-Endpunkt, die Parameter und die Nutzdaten definiert werden. Die Spezifikation selbst hat keine Funktionalität, daher müssen wir als Nächstes Prozesse für jeden API-Endpunkt erstellen. Die Prozesse implementieren die Funktionalität der API. Prozesse, die mit jedem der API-Endpunkte verknüpft sind, werden verknüpfte Prozesse genannt. Ohne verknüpfte Prozesse haben Ihre APIs keine echte Funktionalität. Das Erstellen verknüpfter Prozesse ist auch eine Voraussetzung zum Anzeigen der API-Spezifikations-Benutzeroberfläche, da Sie mindestens einen aktiven verknüpften Prozess haben müssen, um die API-Spezifikations-Benutzeroberfläche zu öffnen.

In den folgenden Modulen werden wir uns ansehen, wie man verknüpfte Prozesse erstellt und was Sie dabei beachten müssen. Darüber hinaus werden wir uns ansehen, wie Sie Unterprozesse nutzen können, um das gleichzeitige Hosten verschiedener API-Versionen zu ermöglichen.

Von der OpenAPI-Spezifikation zum Prozess

Sie können mit der Erstellung eines verknüpften Prozesses über die API-Listenansicht beginnen, indem Sie zunächst die API auswählen, für die Sie einen verknüpften Prozess erstellen möchten, und dann am API-Endpunkt, für den Sie den verknüpften Prozess erstellen möchten, auf „+ Neuen Prozess erstellen“ klicken.

Durch Klicken auf die Schaltfläche wird der Prozesseditor geöffnet. Trigger-, Return- und Throw-Elemente werden automatisch gemäß der OpenAPI-Spezifikation generiert. Name und Beschreibung des Prozesses werden ebenfalls automatisch generiert. Jetzt können Sie mit der Implementierung der Funktionalität des Endpunkts beginnen, wie Sie jeden anderen Integrationsprozess implementieren würden.

Nachdem die Funktionalität implementiert und der Prozess gespeichert wurde, zeigt die API-Listenansicht an, dass ein Prozess mit dem API-Endpunkt verknüpft ist. Sie können auch sehen, ob der verknüpfte Prozess aktiv ist oder nicht. Um die API-Spezifikations-Benutzeroberfläche anzuzeigen, müssen Sie mindestens einen aktiven verknüpften Prozess haben.

Was ist bei der Erstellung verknüpfter Prozesse zu beachten?

Wie oben erwähnt, werden Trigger-, Return- und Throw-Elemente automatisch aus der OpenAPI-Spezifikation generiert. Dies bedeutet nicht, dass sie sich so verhalten, wie Sie es in der OpenAPI-Spezifikation definiert haben, da die Funktionalität des verknüpften Prozesses erstellt werden muss. Als Nächstes werden wir uns einige Dinge ansehen, die Sie bei der Implementierung verknüpfter Prozesse berücksichtigen sollten.

Eingabevalidierung

In der OpenAPI-Spezifikation können Sie Parameter und Textkörper definieren, die an den Endpunkt gesendet werden sollen. Parameter und Anforderungstext werden jedoch nicht validiert, wenn der verknüpfte Prozess ausgelöst wird. Dies bedeutet, dass es egal ist, welche Art von Parametern und Textkörper an den Endpunkt gesendet werden, wenn Sie die Daten nicht validieren. Der Prozess wird trotzdem ausgelöst, wenn die Authentifizierung erfolgreich ist. Die Validierung von Parametern und Anforderungstext muss im verknüpften Prozess implementiert werden.

Wie Parameter und Anforderungstext validiert werden sollen, hängt vom Anwendungsfall ab. Wenn Ihr Endpunkt den Anforderungstext in JSON verwendet, können Sie Folgendes verwenden:Frends.Json.Validate-Aufgabe zum Überprüfen, ob der Anforderungstext alle erforderlichen Eigenschaften enthält und die Werte im richtigen Format vorliegen. Auf diese Weise können Sie Injektionsversuche verhindern. Die Validierung von Parametern hängt vom Anwendungsfall ab. Wenn beispielsweise ein Abfrageparameter mit dem Namen „Datum“ ein bestimmtes Format aufweisen muss, müssen Sie überprüfen, ob das angegebene Datum dem Format entspricht. Wenn es einige Header gibt, die für die Funktion des Prozesses erforderlich sind, müssen Sie überprüfen, ob diese Header vorhanden sind und akzeptable Werte enthalten.

Prozessausführungszeit

Die Ausführungszeit eines Prozesses hängt von der funktionalen Implementierung ab. Wenn Sie APIs hosten, müssen Sie die Ausführungszeit eines Prozesses berücksichtigen. Wenn die Ausführung eines verknüpften Prozesses lange dauert, könnte der Absender der Anfrage denken, dass der Endpunkt nicht antwortet, und die Anfrage beenden. Dies bedeutet, dass auch der verknüpfte Prozess beendet wird. Um dieses Szenario zu verhindern, können Sie Folgendes verwenden:ZwischenrenditeElement. Das Element ermöglicht es Ihnen, eine Antwort an einen Anforderer zu senden, bevor die Ausführung des Prozesses abgeschlossen ist, und verhindert so, dass der Anforderer die Ausführung des Prozesses beendet.

Zuordnung des Antworttexts

Wenn Sie den verknüpften Prozess aus der OpenAPI-Spezifikation generieren, werden Rückgaben automatisch gemäß der OpenAPI-Spezifikation generiert. Der Antworttext ist jedoch nur eine Vorlage der Daten, die an den Anforderer zurückgegeben werden sollen. Dies bedeutet, dass Sie die tatsächlichen Daten erstellen müssen, die an den Anforderer zurückgegeben werden. Der Antworttext muss gemäß dem Anwendungsfall zugeordnet werden und der Inhalt des Antworttexts muss für jedes Rückgabeelement konfiguriert werden. Wenn Ihr API-Endpunkt beispielsweise JSON an den Anforderer zurückgibt, müssen Sie die Daten, die Sie an den Anforderer zurückgeben möchten, in das JSON-Format zuordnen und Ihr Rückgabeelement so konfigurieren, dass es das erstellte JSON verwendet.

Der nächste Artikel istEinführung in die Verwendung von Unterprozessen in APIs.


Verwandte ArtikelSchreiben einer API-Spezifikation in Frends: Teil 1Einführung in API TriggerEinführung in die API-TriggereinstellungenEinführung in die Implementierung von EndpunktenEinführung in die API-Spezifikation So verwenden Sie den Swagger Editor