我们希望使用常规POST请求(v1/updateContext)将数据从Spark Core传输到Context Broker。我们生成以下JSON有效负载:
{
"contextElements“:
[
{
"type":"Producer“,
"isPattern":"false“,
"id":"1337“,
"attributes“:
[
{
"name":"currentPower“,
"type":"float“,
"value":“0"
},
{
"name":"timestamp“,
"type":"int“,
"value":"2015-07-07T20:32:36.958Z“
}
]
}
],
"updateAction":“UPDATE"
}
然而,固件会自动添加额外的字段(除了"contextElements"one_answers"updateAction")到JSON有效负载。上下文代理响应错误,认为存在未知字段。我们能否让上下文代理忽略那些额外的字段,而只挑出两个必需的字段?
不行。这是预期的工作方式,同样,在任何传统编程语言中调用函数时,不能使用超过允许的参数。
作为解决方案,你可以使用一些中间代理来过滤掉你的固件设备正在生成的JSON片段,这些JSON片段不符合Orion实现的NGSI API。