Мне трудно понять, правильно ли отформатирован мой HTTP-запрос от красного узла к облаку Google.У меня есть очень простая функция в настройке облачных функций Google, просто чтобы проверить, что является входящим и правильно ли все передается.Я передаю ему пару полей данных JSON и возвращаю случайное поле только для проверки.
exports.helloWorld = function helloWorld(req, res)
{
var myResponse = req.body.topic;
if(req.get('content-type') === "application/json")
{
myResponse += " - Json";
}
res.status(200).send(myResponse);
};
Здесь я читаю данные JSON двумя способами.Сервер отвечает строкой «undefined - Json», что означает, что он не правильно читает req.body.topic .Насколько я понимаю, gcloud будет анализировать данные в теле http-запроса на основе заголовка content-type .Этот параметр явно читается правильно, а остальное - нет.
В красном узле я передаю следующие данные узлу HTTP-запроса.У меня есть поля данных как объект, присоединенный к полю тела в HTTP-запросе.
{
"url":"http://localhost:8010/my-smart-home-xxxx/us-central1/helloWorld",
"body":
{
"topic":"smartGarden/001/moistureLevel",
"payload":"11",
"origin":"node-red-local"
},
"headers":
{
"content-type":"application/json"
},
"_msgid":"2aa44dc.b7391b2"
}
Я немного новичок в этом, поэтому я, вероятно, делаю очень простую ошибку.
Я ценю помощь!
(я в настоящее время использую эмулятор функций gcloud, но у меня были те же результаты в реальной облачной среде.)