Diese Aktion dient dazu, JSON-Daten über eine REST-API abzurufen. Sie unterstützt die Datenanforderungstypen "POST" und "GET".
Kennung: rest_request
Attribute
rest_url: REST-API-URL
Mögliche Werte: Rest-URL
- Erforderlich: ja
- Beispiel: "https://myfcc.com/sampledata/enginedata"
request_type: REST Anfragetyp
Mögliche Werte: "POST", "GET"
- Erforderlich: ja
- Beispiel: "GET"
wert_pfad: Pfad zum JSON-Datenwert
Beispiel:
"$.rpm" //check Jayway JsonPath for more examples
rest_params: Parameter, die an den REST-Dienst übergeben werden sollen
Mögliche Werte: MAP
Beispiel:
\<list name="rest_params"
listType="NAMED">
\<param name="serial"
type="string">1337\</param>
\</list>
wiederholen_alle_ms: Zeitintervall in Millisekunden, nach dem die Aktion neue Werte anfordert.
Mögliche Werte: Integer
- Erforderlich: ja
- Beispiel: 5000 (für alle 5 Sekunden)
Nutzlast_pfad: Ein optionaler Pfad, in dem der empfangene Wert gespeichert werden kann. Wenn kein Pfad angegeben wird, wird der "sensor_value" verwendet.
Mögliche Werte: String
- Erforderlich: nein
- Beispiel: "sensor_value"
Beispiele
Betrachten wir einen JsonPath mit der folgenden JSON-Struktur:
[{
"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
}
}]
Sie können die folgenden JsonPath-Zeichenfolgen verwenden, um Daten vom Endpunkt abzurufen:
1. JsonPath:
$[0]['name']
1. Zurückgegebene Zeichenfolge:
Blueforce87427
2. JsonPath:
$[0]['position']
2. Zurückgegebene Zeichenfolge:
[{
"datetime"="2022-07-27T13:58:47.925260+02:00,
"positionX"=2722,
"positionY"= 2,
"positionZ"= 3980
}]
3. JsonPath:
$[*]
3. Zurückgegebene Zeichenkette: Ganzes Array mit beiden Objekten
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>
Alle Optionen
<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>