Aller au contenu principal

Noeud http request

Le noeud http request est conçu pour exécuter des requêtes HTTP vers des services web externes ou des API. Il prend en charge plusieurs méthodes HTTP, des moyens de transmission de données, l'authentification et une gestion flexible des requêtes et des réponses.


Paramètres du noeud http request

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 nommé http request.

Exemple :

  • Nom du noeud : Obtenir les données météo

2. Méthode

Méthode HTTP qui sera utilisée pour la requête. Le choix de la méthode dépend du type d'opération à effectuer.

Méthodes disponibles :

  • GET : Récupération de données.
  • POST : Envoi de données.
  • PUT : Mise à jour de données.
  • DELETE : Suppression de données.
  • HEAD : Récupération des en-têtes de réponse.

Exemple :

  • Méthode : POST

3. Lien

Champ pour indiquer une URL statique à laquelle la requête sera envoyée.
Si l'adresse doit être définie dynamiquement, elle peut être transmise dans msg.url.

Exemple :

  • Lien : https://api.example.com/data

4. Données

Définit comment les données d'entrée seront ajoutées à la requête HTTP. Les options suivantes sont disponibles :

  1. Ignorer (par défaut) :
    Les données d'entrée ne seront pas utilisées dans la requête. Le champ msg.payload, s'il existe, sera ignoré.

    Exemple :
    Si msg.payload contient un objet JSON, il ne sera pas inclus dans la requête.


  1. Ajouter aux paramètres de requête :
    Les données de msg.payload seront converties en paramètres de chaîne de requête (Query Parameters) et ajoutées à l'URL.

    Exemple :
    Si msg.payload contient :

    {
    "key1": "value1",
    "key2": "value2"
    }

    Si le Lien est spécifié comme http://example.com/api, la requête finale sera :
    GET http://example.com/api?key1=value1&key2=value2.


  1. Envoyer comme corps de requête :
    Les données de msg.payload seront envoyées dans le corps de la requête. Cette option convient aux méthodes POST et PUT, où les données sont souvent transmises dans le corps.

    Exemple :
    Si msg.payload contient :

    {
    "name": "John Doe",
    "email": "john.doe@example.com"
    }

    Si la méthode de requête est POST, les données seront envoyées dans le corps de la requête avec le contenu approprié.

5. Retourner

Définit dans quel format le noeud traitera la réponse du serveur.

Options :

  • Chaîne : La réponse est convertie en chaîne (par défaut).
  • Objet JSON : Si la réponse du serveur est au format JSON, elle est automatiquement convertie en objet JavaScript.
  • Tampon binaire : La réponse est renvoyée sous forme de tampon binaire (utile pour les données binaires, telles que les images ou les fichiers).

Exemple :

  • Si Objet JSON est sélectionné, la réponse :
    {"status": "ok", "value": 42}
    est convertie en :
    msg.payload = { status: "ok", value: 42 };

6. Utiliser l'authentification

La case à cocher active l'authentification intégrée (par défaut désactivée). Lorsqu'elle est activée, un champ Type apparaît avec le type d'authentification (par défaut basic) :

basic

  • Nom d'utilisateur : Nom d'utilisateur.
  • Mot de passe : Mot de passe.

bearer

  • Mot de passe : Jeton d'accès.

digest

  • Nom d'utilisateur : Nom d'utilisateur.
  • Mot de passe : Mot de passe.

Données d'entrée

Le noeud http request accepte un objet message msg avec les paramètres :

  1. msg.url : URL pour la requête (si elle n'est pas spécifiée dans les paramètres du noeud).
  2. msg.method : Méthode HTTP (si elle n'est pas définie dans les paramètres du noeud).
  3. msg.payload : Corps de la requête (utilisé pour les méthodes POST, PUT).
  4. msg.headers : En-têtes de la requête HTTP (objet).

Données de sortie

Le noeud renvoie un objet msg avec des informations sur la requête effectuée :

  1. msg.payload : Données de la réponse du serveur.
  2. msg.statusCode : Code de statut HTTP de la réponse (par exemple, 200 ou 404).
  3. msg.headers : En-têtes de la réponse.
  4. msg.responseUrl : URL à laquelle la requête a été effectuée.
  5. msg.error : Description de l'erreur (si la requête a échoué).

Exemples d'utilisation

Exemple 1 : Exécution d'une requête GET

Paramètres du noeud :

  • Méthode : GET
  • Lien : https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London

Flux :

[inject] ---> [http request] ---> [debug]

Résultat : Le noeud renverra un JSON avec la météo actuelle.


Exemple 2 : Envoi de données via POST

Paramètres du noeud :

  • Méthode : POST
  • Lien : https://api.example.com/devices
  • Données : Envoyer comme corps de requête

Flux :

[function] ---> [http request] ---> [debug]

Code dans le noeud function :

msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;

Résultat : Les données seront envoyées et le noeud renverra la réponse du serveur.


Exemple 3 : URL dynamique et authentification

Paramètres du noeud :

  • Lien : (laisser vide)

Flux :

[function] ---> [http request] ---> [debug]

Code dans le noeud function :

msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;

Résultat : Le noeud effectuera une requête à l'URL spécifiée avec le jeton d'authentification.