REST API - Get
Ce bloc fonction effectue une requête HTTP GET vers un serveur web et fournit le résultat au reste de votre système. Utilisez-le pour récupérer des données JSON ou du texte brut depuis des endpoints REST et transmettre la réponse à d'autres blocs pour analyse, journalisation ou stockage.
📥 Entrées
Enable Condition Lorsque True, le bloc tentera de récupérer les données depuis l'adresse serveur fournie. Utilisez ceci pour contrôler quand les requêtes sont effectuées.
Server Address URL complète du serveur ou de l'API à interroger (par ex. https://api.example.com/data).
Response Data ID Clé ou chemin optionnel pour extraire une valeur spécifique d'une réponse JSON. Laisser vide pour retourner la réponse complète.
📤 Sorties
Status Code Code HTTP renvoyé par le serveur.
Error Message d'erreur lorsque la requête a échoué ou que le serveur a retourné une erreur.
Response Corps de la réponse du serveur. Peut être du texte brut ou une valeur JSON analysée selon l'endpoint et l'entrée Response Data ID.
🕹️ Contrôles
Timeout (s) Temps maximum (en secondes) d'attente de la réponse du serveur avant de considérer la requête comme échouée. Par défaut : 2 secondes.
🎯 Fonctions
Exécution non bloquante : les requêtes sont effectuées sans geler l'interface utilisateur, ainsi les autres blocs et contrôles restent réactifs pendant l'attente de la réponse.
Extraction de réponse optionnelle : fournissez un
Response Data IDpour sélectionner un champ unique d'une réponse JSON lorsque vous n'avez besoin que d'une valeur précise.Rapports d'erreur : les échecs courants (erreurs de connexion, délais d'attente, codes de statut non-OK) sont exposés via la sortie
Erroret le journal système.Timeout ajustable : évite que des attentes longues bloquent votre flux en réglant le contrôle
Timeout (s).
📝 Instructions d'utilisation
Fournissez un signal booléen à
Enable Conditionlorsque vous souhaitez lancer la requête.Saisissez l'URL de l'endpoint dans
Server Address.Si l'endpoint renvoie du JSON et que vous n'avez besoin que d'une seule valeur, définissez
Response Data IDsur la clé JSON souhaitée (laisser vide pour recevoir la réponse entière).Ajustez
Timeout (s)si le serveur est lent ou si vous souhaitez détecter les échecs plus rapidement.Lisez les résultats depuis les sorties
Status Code,ErroretResponseet connectez-les aux blocs suivants pour analyse, sauvegarde ou alertes.
📊 Évaluation
Lorsqu'il est activé et qu'une adresse serveur valide est fournie, le bloc émet une requête GET et met à jour ses sorties lorsque la réponse arrive ou lorsqu'une erreur survient. Si aucune réponse n'est disponible, des valeurs par défaut sont fournies afin que les blocs en aval puissent continuer à fonctionner.
💡 Astuces et bonnes pratiques
Pour déclencher une requête unique lorsque une condition devient True, combinez avec le bloc
Rising Edgepour convertir un signal True soutenu en un unique déclencheur.Si vous devez POSTer des données après avoir inspecté une réponse GET, associez ce bloc au bloc
REST API - Post.Utilisez
Parse Data DictionaryouData to JSONpour extraire et formater des données structurées depuis la sortieResponseavant de les sauvegarder ou de les transmettre.Pour consigner ou sauvegarder des réponses API répétées, connectez les sorties à
CSV ExportouSQL-DB Operationspour un stockage persistant.Utilisez
Debug Inputpour afficher et inspecter les sorties brutes pendant le développement et le dépannage.Pour transmettre les données récupérées à des brokers de messages ou systèmes IoT, connectez les résultats à
MQTT Publish.
🛠️ Dépannage
Problème : Pas de réponse ou timeout.
Vérifiez l'URL dans
Server Addresset assurez-vous de l'accès réseau au serveur. AugmentezTimeout (s)pour les serveurs lents.
Problème : La sortie
Errorcontient un statut HTTP ou un message.Consultez
Status Codepour déterminer si le serveur a signalé une erreur client ou serveur (4xx/5xx). Vérifiez l'endpoint et toute authentification requise avec le fournisseur de l'API.
Problème : La réponse est en JSON mais la valeur requise est introuvable.
Vérifiez que la clé ou le chemin fourni dans
Response Data IDest correct. Si la structure est imbriquée, utilisez un bloc de parsing commeParse Data Dictionarypour naviguer dans le JSON.
Problème : Les requêtes s'exécutent trop fréquemment ou à des moments indésirables.
Contrôlez le timing des requêtes avec
Logic Input,Rising Edgeou d'autres blocs de contrôle de flux pour vous assurer que les requêtes ne sont envoyées que lorsque nécessaire.
Mis à jour