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
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 :
-
Ignorer :
Les données d'entrée ne seront pas utilisées dans la requête. Le champmsg.payload
, s'il existe, sera ignoré.Exemple :
Simsg.payload
contient un objet JSON, il ne sera pas inclus dans la requête.
-
Ajouter aux paramètres de requête :
Les données demsg.payload
seront converties en paramètres de chaîne de requête (Query Parameters) et ajoutées à l'URL.Exemple :
Simsg.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
.
-
Envoyer comme corps de requête :
Les données demsg.payload
seront envoyées dans le corps de la requête. Cette option convient aux méthodes telles quePOST
,PUT
, etPATCH
, où les données sont souvent transmises dans le corps.Exemple :
Simsg.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 :est convertie en :{"status": "ok", "value": 42}
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 :
- msg.url : URL pour la requête (si elle n'est pas spécifiée dans les paramètres du noeud).
- msg.method : Méthode HTTP (si elle n'est pas spécifiée dans les paramètres du noeud).
- msg.payload : Corps de la requête (utilisé pour les méthodes
POST
,PUT
,PATCH
). - 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 :
- msg.payload : Données de la réponse du serveur.
- msg.statusCode : Code de statut HTTP de la réponse (par exemple,
200
ou404
). - msg.headers : En-têtes de la réponse.
- msg.responseUrl : URL à laquelle la requête a été effectuée.
- 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.