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 de nombreux méthodes HTTP, types de données, authentification et 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 appelé http request.

Exemple :

  • Nom du noeud : Get Weather Data

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.
  • PATCH : Mise à jour partielle de données.
  • HEAD : Récupération des en-têtes de réponse.
  • OPTIONS : Récupération d'informations sur l'API.

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 :
    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 telles que POST, PUT, et PATCH, 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. Retour

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

Options :

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

Exemple :

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

6. Authentification

Le noeud prend en charge des mécanismes d'authentification intégrés.

Authentification de base

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

Jeton Bearer

  • Jeton : 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 spécifiée dans les paramètres du noeud).
  3. msg.payload : Corps de la requête (utilisé pour les méthodes POST, PUT, PATCH).
  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
  • URL : 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
  • URL : https://api.example.com/devices
  • Données : JSON

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 :

  • URL : (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.