我想在已部署在虚拟机中的代理中创建IoT实体。目前,我已经通过卷发进行交流,并且可以正常工作。
咨询“ curl”:
(curl http://192.168.56.103:8080/ngsi10/updateContext -s -S --header 'Content-Type: application/json' \
--header 'Accept: application/json' -d @- | python -mjson.tool) <<EOF
{
"contextElements": [{
"entityId": {
"id": "01",
"type": "example"
},
"attributes": [{
"name": "numbers",
"type": "int",
"contextValue": 24
}],
"domainMetadata": [{
"name": "location",
"type": "point",
"value": {
"latitude": 37.982636,
"longitude": -1.123510
}
}]
}],
"updateAction": "UPDATE"
}
EOF
这对我来说正常工作。
这是使用axios的nodejs的等效代码:
var config = {
headers: {'Content-Type': 'application/json',
'Accept': 'application/json'}
};
var dataJSon = [{
"contextElements": [{
"entityId": {
"id": "01",
"type": "example"
},
"attributes": [{
"name": "numbers",
"type": "int",
"contextValue": 24
}],
"domainMetadata": [{
"name": "location",
"type": "point",
"value": {
"latitude": 37.982636,
"longitude": -1.123510
}
}]
}],
"updateAction": "UPDATE"
}];
const payload = {
topic: 'topic',
logs: dataJSon,
};
axios.get('http://192.168.56.103:8080/ngsi10/updateContext', dataJSon, config)
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
.then(function () {
// always executed
});
在执行最后一个操作时,经纪人告诉我他不理解该请求,我已经用Wireshark过滤了请求,但他做得不好,数据没有出现,并且只有一个标头出现在我的身上。 Los contenidos de los datos儿子JSON。
我会把它放在这里,以防有人帮我。提前非常感谢您。
答案 0 :(得分:0)
用curl呼叫-d
发送POST请求。使用axios.post
:
axios.post('http://192.168.56.103:8080/ngsi10/updateContext', dataJSon, config)