Aller au contenu principal

Nœud http response

Le nœud http response envoie des réponses HTTP aux requêtes traitées par le nœud http in. Il termine le cycle de traitement de la requête et renvoie les données au client.


Paramètres du nœud http response​

Fenêtre « Node Information » du nœud « http response » : le champ « statusCode » vaut 200

1. Name​

Nom du nœud.
Le nom s'affiche dans l'espace de travail et permet d'identifier le nœud.
Si le champ reste vide, le nœud s'appelle http response.

Exemple :

  • Nom du nœud : Send JSON Response

2. Status Code​

Code d'état HTTP de la réponse, défini dans le formulaire du nœud. Valeur par défaut : 200.

Exemple :

  • Status Code : 201

Champs définis par le message d'entrée (msg)​

Le nœud http response construit la réponse HTTP à partir de l'objet msg qu'il reçoit en entrée. Principaux paramètres :

  1. msg.payload
    Contenu de la réponse, envoyé au client dans le corps de la réponse.

    Exemple :

    • Pour envoyer du texte :
      msg.payload = "Hello, World!";
    • Pour une réponse JSON :
      msg.payload = { status: "ok", value: 42 };

  1. msg.statusCode
    Code d'état HTTP de la réponse. Si ce champ n'est pas défini, 200 OK est utilisé par défaut.

    Exemples de codes d'état :

    • 200 : succès.
    • 201 : ressource créée avec succès.
    • 400 : erreur du client.
    • 404 : ressource introuvable.
    • 500 : erreur interne du serveur.

    Exemple :

    msg.statusCode = 404; // Ressource introuvable

  1. msg.headers
    Objet qui définit les en-têtes de la réponse HTTP. Il permet d'indiquer, par exemple, le type de contenu, la mise en cache ou des en-têtes personnalisés.

    Exemple :

    msg.headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache"
    };

Exemples d'utilisation​

Exemple 1 : envoi d'une réponse JSON de succès​

Flux :

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

Code du nœud function :

msg.payload = { success: true, message: "Request processed successfully" };
msg.statusCode = 200;
msg.headers = { "Content-Type": "application/json" };
return msg;

Résultat :
Le client reçoit la réponse suivante :

HTTP/1.1 200 OK
Content-Type: application/json

{
"success": true,
"message": "Request processed successfully"
}

Exemple 2 : traitement d'une erreur​

Flux :

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

Code du nœud function :

msg.payload = { error: "Invalid request parameters" };
msg.statusCode = 400;
msg.headers = { "Content-Type": "application/json" };
return msg;

Résultat :
Le client reçoit la réponse suivante :

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
"error": "Invalid request parameters"
}

Exemple 3 : réponse vide avec un statut personnalisé​

Flux :

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

Code du nœud function placé avant le nœud http response :

msg.payload = null; // Corps de réponse vide
msg.statusCode = 204; // Aucun contenu
return msg;

Résultat :
Le client reçoit la réponse suivante :

HTTP/1.1 204 No Content