Cette action est conçue pour récupérer des données JSON via une API REST. Elle prend en charge les types de demande de données "POST " et "GET".
Identifiant : rest_request
Attributs
rest_url : URL DE L'API REST
Valeurs possibles : URL de repos
- Obligatoire : oui
- Exemple : "https://myfcc.com/sampledata/enginedata"
request_type : Type de demande REST
Valeurs possibles : "POST", "GET".
- Obligatoire : oui
- Exemple : "GET"
chemin_valeur : Chemin vers la valeur des données JSON
Exemple:
"$.rpm" //check Jayway JsonPath for more examples
rest_params : Paramètres qui doivent être passés au service REST
Valeurs possibles : MAP
Exemple:
\<list name="rest_params"
listType="NAMED">
\<param name="serial"
type="string">1337\</param>
\</list>
repeat_every_ms : Intervalle de temps en millisecondes après lequel, l'action demande de nouvelles valeurs.
Valeurs possibles : Nombre entier
- Obligatoire : oui
- Exemple : 5000 (pour toutes les 5 secondes)
payload_path : Un chemin facultatif où la valeur reçue peut être stockée. Si aucun chemin n'est donné, la valeur "sensor_value" sera utilisée.
Valeurs possibles : Chaîne de caractères
- Obligatoire : non
- Exemple : "valeur du capteur".
Exemples
Considérons un JsonPath avec la structure JSON suivante :
[{
"color"="blue",
"id"=87427,
"name"="Blueforce87427",
"position"={
"datetime"="2017-07-20T13: 58: 47.947513+02: 00",
"positionX"=2722,
"positionY"=2,
"positionZ"=3980
}
}{
"color"="red",
"id"=11111,
"name"="Opfor11111",
"position"={
"datetime"="2017-07-20T13: 58: 47.947513+02: 00",
"positionX"=3222,
"positionY"=232,
"positionZ"=4000
}
}]
Vous pouvez utiliser les chaînes JsonPath suivantes pour récupérer les données du point de terminaison :
1. JsonPath:
$[0]['name']
1. Chaîne retournée:
Blueforce87427
2. JsonPath :
$[0]['position']
2. Chaîne retournée :
[{
"datetime"="2022-07-27T13:58:47.925260+02:00,
"positionX"=2722,
"positionY"= 2,
"positionZ"= 3980
}]
3. JsonPath:
$[*]
3. Chaîne retournée : Tableau complet avec les deux objets
Minimal
<rest_request id="my_rest_test0">
<param name="rest_url" type="string">https://alex.dev.ubimax.com/sampledata/enginedata</param>
<param name="request_type" type="string">POST</param>
<param name="value_path" type="string">$.rpm</param>
<list name="rest_params" listType="NAMED">
<param name="serial" type="string">1337</param>
</list>
</rest_request>
Toutes les options
<rest_request id="my_rest_test0">
<param name="rest_url" type="string">https://alex.dev.ubimax.com/sampledata/enginedata</param>
<param name="request_type" type="string">POST</param>
<param name="value_path" type="string">$.rpm</param>
<param name="repeat_every_ms" type="string">5000</param>
<param name="payload_path" type="string">myPayload</param>
<list name="rest_params" listType="NAMED">
<param name="serial" type="string">1337</param>
</list>
</rest_request>