Wenn Sie einen Endpunkt für einen Geschäftsprozess erstellen, müssen Sie die Art der Daten angeben, die in dieser Anfrage gesendet werden (Request payload type). Die gebräuchlichste Option ist JSON; sie ermöglicht die bequeme Angabe aller erforderlichen Parameter und die Übergabe eines Datenmodells oder eines Arrays von Objekten. Darüber hinaus sind auch andere Optionen möglich, z. B. XML oder Multipart Form (wenn Sie Dateien senden müssen).

Gleichzeitig ist eine Situation akzeptabel, in der die genaue Struktur nicht im Voraus bekannt ist (oder es einfach keine Rolle spielt). In diesem Fall ist die Verwendung von "raw"-Abfragen eine sinnvolle Option.

request payload type

Geschäftsprozess für raw Abfragen

Stellen Sie sich eine Situation vor, in der dies erforderlich sein könnte. Nehmen wir an, der Dienst, den wir entwickeln, ist nur ein Verbindungsglied. Seine Aufgabe ist es, eine Anfrage vom Benutzer zu empfangen, die Berechtigung zu prüfen, Protokolle zu speichern, Spamschutz zu betreiben und die Anfrage weiterzuleiten, wenn alles in Ordnung ist.

Ein wichtiges Merkmal der Raw Abfragen ist, dass beim Entwurf von Geschäftsprozessen keine Eingabeparameter verwendet werden. Stattdessen wird ein spezieller Block verwendet, um den Körper der Anfrage zu erhalten - Get Request Body. Angenommen, Sie sind an erweiterten Informationen über die Anfrage interessiert. In diesem Fall ist der Current Request Info Block eine geeignete Option - er liefert nicht nur den Request Body, sondern auch zusätzliche Parameter und Request Header.

Current Request Info

Wenn wir an einem bestimmten Header der Anfrage interessiert sind, können wir ihn mit dem Get Request Header Block. Das obige Beispiel liest den X-Real-IP Header, der die IP-Adresse der Anfrage enthält. Die sich daraus ergebende IP-Adresse wird an eine Funktion übergeben, die prüfen muss, ob die angegebene IP-Adresse gültig ist und nicht auf der schwarzen Liste der verbotenen Adressen steht. Infolgedessen wird der Vorgang entweder mit einer entsprechenden Fehlermeldung abgebrochen oder, wenn alles in Ordnung ist, die weitere Ausführung zugelassen.

IP Check

Die Anfrage, die als Raw empfangen wird, wird als ein Array von Bytes dargestellt. Zur Vereinfachung der Wahrnehmung kann sie in eine Zeichenkette umgewandelt werden (To String Block) umgewandelt werden; in dieser Form werden die Informationen in den Protokollen gespeichert.

In diesem Fall kann die Anfrage selbst, ohne jegliche Umwandlung, mit Hilfe des HTTP Request Block. In diesem Beispiel werden die Anfragemethode, ihre URL und der Anfragebody (aus dem Current Request Info Block) angegeben. Das Ergebnis des HTTP Request Blocks wird als Ergebnis des gesamten Geschäftsprozesses verwendet.

HTTP Request

Der Screenshot zeigt den endgültigen Geschäftsprozess. Bitte beachten Sie, dass die Funktionsblöcke (FUNC Save request Log und FUNC IP Blacklist Check) Beispiele sind und nur im Rahmen dieses Projekts existieren.

BP Complete

Der Endpunkt kann also für jede beliebige Anfrage verwendet werden, unabhängig von ihrem tatsächlichen Inhalt. Sie müssen die genaue Anfrage, die an einen Drittanbieterdienst gesendet werden soll, nicht kennen, und selbst wenn es einige Änderungen darin gibt (Hinzufügen eines Modells, Umbenennen von Parametern), können Sie den Endpunkt weiterhin verwenden, ohne Änderungen am Projekt vorzunehmen.

Was this article helpful?

AppMaster.io 101 Crash-Kurs

10 Module
2 Wochen

Sie wissen nicht, wo Sie anfangen sollen? Legen Sie los mit unserem Crashkurs für Anfänger und erkunden Sie AppMaster von A bis Z.

Kurs starten
Development it’s so easy with AppMaster!

Benötigen Sie weitere Hilfe?

Lösen Sie jedes Problem mit Hilfe unserer Experten. Sparen Sie Zeit und konzentrieren Sie sich auf die Erstellung Ihrer Anwendungen.

headphones

Kontaktieren Sie Support

Schildern Sie uns Ihr Problem und wir finden eine Lösung für Sie.

message

Community-Chat

Besprechen Sie Fragen mit anderen Benutzern in unserem Chat.

Community beitreten