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
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.
3. Link
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 nodohttp 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"
}