Aller au contenu principal

Noeud http in

Le noeud http in est utilisé pour créer des points de terminaison HTTP qui peuvent traiter des requêtes HTTP entrantes (GET, POST, PUT, etc.). Ce noeud est le point d'entrée pour interagir avec des systèmes externes via le protocole HTTP.

Important : Tous les chemins spécifiés reçoivent automatiquement le préfixe : /api/admin/workflows/endpoints/.


Paramètres du noeud http in

IMG2

1. Nom

Champ pour indiquer le nom du noeud.
Le nom s'affiche dans l'espace de travail et aide à identifier facilement le noeud.
S'il est laissé vide, le noeud sera appelé http in.

Exemple :

  • Nom du noeud : get payment link

2. Méthode

Méthode HTTP que le noeud traitera. Les options suivantes sont disponibles :

  • GET : Utilisé pour obtenir des données.
  • POST : Utilisé pour envoyer des données.
  • PUT : Utilisé pour mettre à jour des données.
  • DELETE : Utilisé pour supprimer des données.
  • PATCH : Utilisé pour une mise à jour partielle des données.
  • OPTIONS : Utilisé pour les requêtes d'obtention de métadonnées sur l'API.

3. Lien

Indique le chemin (point de terminaison) pour traiter les requêtes.

  • Le chemin commence par /.
  • Peut inclure des variables de route, par exemple : /data/:id.

Exemple :

  • Lien : /get-payment-link
  • Lien avec paramètre : /get-payment-link/:orderId

Format du message d'entrée

Lorsque la requête arrive sur le chemin spécifié avec la méthode choisie, le noeud http in crée un message msg avec les propriétés suivantes :

  • msg.req : Contient l'objet de la requête HTTP, y compris les en-têtes, les paramètres, le corps et d'autres données.
    • msg.req.params : Paramètres de la route (par exemple, :id dans /api/data/:id).
    • msg.req.query : Paramètres GET de la requête.
    • msg.req.body : Corps de la requête (pour les méthodes POST, PUT et PATCH).
  • msg.res : Objet pour gérer la réponse HTTP. Il est généralement transmis au noeud http response pour envoyer une réponse au client.

Exemple d'utilisation

Exemple 1 : Traitement d'une requête GET

Scénario : Retourner des données sur la température.

Paramètres du noeud :

  • Méthode : GET
  • Lien : /temperature

Flux :

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

Code du noeud function :

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

Résultat : Le client ayant envoyé une requête GET à /api/admin/workflows/endpoints/temperature recevra une réponse JSON :

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

Exemple 2 : Traitement d'une requête POST

Scénario : Réception et sauvegarde de données d'un appareil.

Paramètres du noeud :

  • Méthode : POST
  • Lien : /data

Flux :

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

Code du noeud function :

// Lecture des données du corps de la requête
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Résultat : Le noeud recevra les données du corps de la requête POST et renverra une réponse de confirmation.


Exemple 3 : Utilisation de paramètres de route

Scénario : Obtenir des données par identifiant d'appareil.

Paramètres du noeud :

  • Méthode : GET
  • Lien : /device/:id

Flux :

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

Code du noeud function :

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

Résultat :

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