我可以使Orion上下文代理在POST请求中忽略JSON有效负载中的附加字段吗?



我们希望使用常规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。

相关内容

最新更新