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
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 :
-
Ignorer :
Les données d'entrée ne seront pas utilisées dans la requête. Lemsg.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 requête 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 est adaptée aux méthodes telles quePOST
,PUT
etPATCH
, où les données sont souvent envoyées 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 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 :est convertie en :{"status": "ok", "value": 42}
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 :
- msg.url : URL pour la requête (si non spécifiée dans les paramètres du nœud).
- msg.method : Méthode HTTP (si non définie dans les paramètres du nœud).
- msg.payload : Corps de la requête (utilisé pour les méthodes
POST
,PUT
,PATCH
). - 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 :
- msg.payload : Données de réponse du serveur.
- msg.statusCode : Code de statut HTTP de la réponse (par exemple,
200
ou404
). - msg.headers : En-têtes de réponse.
- msg.responseUrl : URL à laquelle la requête a été faite.
- 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.