Passa al contenuto principale

Nodo http in

Il nodo http in viene utilizzato per creare endpoint HTTP che possono gestire richieste HTTP in entrata (GET, POST, PUT e altri). Questo nodo è il punto di ingresso per interagire con sistemi esterni tramite il protocollo HTTP.

Importante: Tutti i percorsi specificati ricevono automaticamente il prefisso: /api/admin/workflows/endpoints/.


Impostazioni del nodo http in

IMG2

1. Nome

Campo per specificare il nome del nodo.
Il nome viene visualizzato nell'area di lavoro e aiuta a identificare facilmente il nodo.
Se lasciato vuoto, il nodo sarà chiamato http in.

Esempio:

  • Nome del nodo: get payment link

2. Metodo

Il metodo HTTP che il nodo gestirà. Sono disponibili le seguenti opzioni:

  • GET: Utilizzato per ottenere dati.
  • POST: Utilizzato per inviare dati.
  • PUT: Utilizzato per aggiornare dati.
  • DELETE: Utilizzato per eliminare dati.
  • PATCH: Utilizzato per aggiornamenti parziali dei dati.
  • OPTIONS: Utilizzato per richieste di metainformazioni sull'API.

Specifica il percorso (endpoint) per gestire le richieste.

  • Il percorso inizia con /.
  • Può includere variabili di percorso, ad esempio: /data/:id.

Esempio:

  • Link: /get-payment-link
  • Link con parametro: /get-payment-link/:orderId

Formato del messaggio in ingresso

Quando una richiesta arriva al percorso specificato con il metodo selezionato, il nodo http in crea un messaggio msg con le seguenti proprietà:

  • msg.req: Contiene l'oggetto della richiesta HTTP, inclusi intestazioni, parametri, corpo e altri dati.
    • msg.req.params: Parametri di percorso (ad esempio, :id in /api/data/:id).
    • msg.req.query: Parametri GET della richiesta.
    • msg.req.body: Corpo della richiesta (per i metodi POST, PUT e PATCH).
  • msg.res: Oggetto per gestire la risposta HTTP. Di solito viene passato al nodo http response per inviare una risposta al client.

Esempio di utilizzo

Esempio 1: Gestione di una richiesta GET

Scenario: Restituzione dei dati sulla temperatura.

Impostazioni del nodo:

  • Metodo: GET
  • Link: /temperature

Flusso:

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

Codice del nodo function:

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

Risultato: Il client che invia una richiesta GET a /api/admin/workflows/endpoints/temperature riceverà una risposta JSON:

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

Esempio 2: Gestione di una richiesta POST

Scenario: Ricezione e salvataggio dei dati da un dispositivo.

Impostazioni del nodo:

  • Metodo: POST
  • Link: /data

Flusso:

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

Codice del nodo function:

// Lettura dei dati dal corpo della richiesta
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Risultato: Il nodo riceverà i dati dal corpo della richiesta POST e restituirà una risposta di conferma.


Esempio 3: Utilizzo dei parametri di percorso

Scenario: Ottenere dati in base all'identificatore del dispositivo.

Impostazioni del nodo:

  • Metodo: GET
  • Link: /device/:id

Flusso:

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

Codice del nodo function:

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

Risultato:

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