Aller au contenu principal

Node http request

Le nœud http request est conçu pour effectuer des requêtes HTTP vers des services web ou des API externes. Il prend en charge plusieurs méthodes HTTP, types de données, authentification et gestion flexible des requêtes et des réponses.


Paramètres pour le nœud http request

IMG2

1. Nom

Un champ pour spécifier le nom du nœud.
Le nom est affiché dans l'espace de travail et aide à identifier facilement le nœud.
S'il est laissé vide, le nœud sera appelé http request.

Exemple :

  • Nom du nœud : Obtenir les données météorologiques

2. Méthode

La 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érer des données.
  • POST : Envoyer des données.
  • PUT : Mettre à jour des données.
  • DELETE : Supprimer des données.
  • PATCH : Mettre à jour partiellement des données.
  • HEAD : Récupérer les en-têtes de réponse.
  • OPTIONS : Obtenir des informations sur l'API.

Exemple :

  • Méthode : POST

3. Lien

Un champ pour spécifier une URL statique à laquelle la requête sera envoyée.
Si l'adresse doit être définie dynamiquement, elle peut être passée 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 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 requête 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 est adaptée aux méthodes telles que POST, PUT et PATCH, où les données sont souvent envoyées 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 le format dans lequel le nœud 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 nœud 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 nœud http request accepte un objet message msg avec les paramètres suivants :

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

Données de sortie

Le nœud renvoie un objet msg avec des informations sur la requête exécutée :

  1. msg.payload : Données de 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 réponse.
  4. msg.responseUrl : URL à laquelle la requête a été faite.
  5. msg.error : Description de l'erreur (si la requête a échoué).

Exemples d'utilisation

Exemple 1 : Effectuer une requête GET

Paramètres du nœud :

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

Flux :

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

Résultat : Le nœud renverra un JSON avec la météo actuelle.


Exemple 2 : Envoyer des données via POST

Paramètres du nœud :

  • Méthode : POST
  • URL : https://api.example.com/devices
  • Données : JSON

Flux :

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

Code dans le nœud 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 nœud renverra la réponse du serveur.


Exemple 3 : URL dynamique et authentification

Paramètres du nœud :

  • URL : (laisser vide)

Flux :

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

Code dans le nœud function :

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

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