Fiware Orion Context Broker将实体类型设置为“none”,如果它在PUT v2 / entities / $ id / attrs / $ attr_name请求的主体中不明确

时间:2016-08-27 01:39:56

标签: fiware-orion

如果我想更新值和元数据,如果我没有在请求体中设置属性类型,它会将属性类型更新为“none”,我将丢失信息。

我不确定是否应该发生。 此端点不允许PATCH请求。

e.g:

我有一个名为temperature的属性,它的类型是'cassius'。

  

PUT http://localhost:1026/v2/entities/Room1/attrs/temperature?type=Room

体:

{
"value": 20,
"metadata":{"han":"solo"}
}

使用cURL表示:

curl -X PUT -H "Fiware-Service: teste_1" -H "Content-Type: application/json" -d '{
"value": 20, "metadata":{"han":"solo"}
}' "http://localhost:1026/v2/entities/Room1/attrs/temperature?type=Room"

在此请求之后,原始属性类型已经消失,因为它已被设置 为“无”,因为它没有出现在请求体上被设置为无。

PS:我没有使用text / plain内容类型进行测试。

猎户座上下文代理信息:

{
  "orion" : {
  "version" : "1.2.0-next",
  "uptime" : "9 d, 17 h, 27 m, 37 s",
  "git_hash" : "c1a224db08086751f05d471a8b52c0eaec15f3a5",
  "compile_time" : "Thu Aug 4 09:04:12 BRT 2016",
  "compiled_by" : "root"
}

}

1 个答案:

答案 0 :(得分:1)

如果您执行PUT,则替换整个属性,并且实现将类型重置为“none”。

尝试仅更新值和类型将保留。

http://localhost:1026/v2/entities/Room1/attrs/temperature/value