Zum Hauptinhalt springen

Knoten http in

Der Knoten http in wird verwendet, um HTTP-Endpunkte zu erstellen, die eingehende HTTP-Anfragen (GET, POST, PUT und andere) verarbeiten können. Dieser Knoten ist der Einstiegspunkt für die Interaktion mit externen Systemen über das HTTP-Protokoll.

Wichtig: Alle angegebenen Pfade erhalten automatisch das Präfix: /api/admin/workflows/endpoints/.


Einstellungen des Knotens http in

IMG2

1. Name

Feld zur Angabe des Knotennamens.
Der Name wird im Arbeitsbereich angezeigt und hilft, den Knoten leicht zu identifizieren.
Wenn das Feld leer bleibt, wird der Knoten http in genannt.

Beispiel:

  • Knotenname: get payment link

2. Methode

HTTP-Methode, die der Knoten verarbeiten wird. Folgende Optionen sind verfügbar:

  • GET: Wird verwendet, um Daten abzurufen.
  • POST: Wird verwendet, um Daten zu senden.
  • PUT: Wird verwendet, um Daten zu aktualisieren.
  • DELETE: Wird verwendet, um Daten zu löschen.
  • PATCH: Wird verwendet, um Daten teilweise zu aktualisieren.
  • OPTIONS: Wird verwendet, um Anfragen zur Abfrage von Metainformationen über die API zu stellen.

Gibt den Pfad (Endpoint) zur Verarbeitung von Anfragen an.

  • Der Pfad beginnt mit /.
  • Kann Routenvariablen enthalten, z. B.: /data/:id.

Beispiel:

  • Link: /get-payment-link
  • Link mit Parameter: /get-payment-link/:orderId

Format der eingehenden Nachricht

Wenn eine Anfrage an den angegebenen Pfad mit der gewählten Methode eingeht, erstellt der Knoten http in eine Nachricht msg mit den folgenden Eigenschaften:

  • msg.req: Enthält das HTTP-Anfrageobjekt, einschließlich Header, Parameter, Body und andere Daten.
    • msg.req.params: Routenparameter (z. B. :id in /api/data/:id).
    • msg.req.query: GET-Parameter der Anfrage.
    • msg.req.body: Body der Anfrage (für die Methoden POST, PUT und PATCH).
  • msg.res: Objekt zur Steuerung der HTTP-Antwort. Wird normalerweise an den Knoten http response übergeben, um die Antwort an den Client zu senden.

Beispielverwendung

Beispiel 1: Verarbeitung einer GET-Anfrage

Szenario: Rückgabe von Temperaturdaten.

Einstellungen des Knotens:

  • Methode: GET
  • Link: /temperature

Flow:

[http in] ---> [function] ---> [http response]

Code des Knotens function:

msg.payload = { temperature: 22.5, unit: "Celsius" };
return msg;

Ergebnis: Der Client, der eine GET-Anfrage an /api/admin/workflows/endpoints/temperature sendet, erhält eine JSON-Antwort:

{
"temperature": 22.5,
"unit": "Celsius"
}

Beispiel 2: Verarbeitung einer POST-Anfrage

Szenario: Empfang und Speicherung von Daten von einem Gerät.

Einstellungen des Knotens:

  • Methode: POST
  • Link: /data

Flow:

[http in] ---> [function] ---> [http response]

Code des Knotens function:

// Lesen der Daten aus dem Anfrage-Body
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Ergebnis: Der Knoten empfängt die Daten aus dem Body der POST-Anfrage und gibt eine Bestätigungsantwort zurück.


Beispiel 3: Verwendung von Routenparametern

Szenario: Abrufen von Daten anhand der Geräte-ID.

Einstellungen des Knotens:

  • Methode: GET
  • Link: /device/:id

Flow:

[http in] ---> [function] ---> [http response]

Code des Knotens function:

const deviceId = msg.req.params.id;
msg.payload = { deviceId: deviceId, status: "active" };
return msg;

Ergebnis:

{
"deviceId": "123",
"status": "active"
}