Набор красного узла получает параметры HTTP-запроса - PullRequest
0 голосов
/ 23 февраля 2020

С помощью Node-Red я пытаюсь установить правильные параметры для http-запроса, но я не могу этого сделать.

the block used

Function code

Http request setting

Запрос с curl следующий:

curl -H "Content-Type: application/json" -X GET -d '{"auth_key":"xf79rra", "payload":null}' https://retepaiot.it/sensordata/0018b1213

и работает.

Я думаю, что я что-то неправильно сделал, передавая auth_key и payload (они не являются параметрами URL). Я использую функцию для подготовки сообщения:

msg.headers = {    
    "Content-Type": "application/json"
    };


msg.payload = {auth_key:"xf7xxxx9rra", 
    payload:null};
return msg;

и http-запрос для URL:

https://retepaiot.it/sensordata/001xxxx1213

, возвращаемое сообщение:

{ "message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)"}

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Метод GET, вызванный из запроса http, не управляет полезной нагрузкой (тело в http). Просто это игнорирует. Это соответствует протоколу, поэтому это не ошибка (см. Комментарии).

Сервер REST, который я вызываю, кажется, не совместим с методом GET.

На данный момент я изменил исходный код узла www request. Затем я разработаю свой собственный узел.

Может быть полезно изменить код запроса http, чтобы поддерживать даже серверы, не полностью совместимые.

0 голосов
/ 23 февраля 2020

Посмотрите на «Тип возврата» внизу конфигурации узла, вы явно запросили JSON объект

...