如何删除Orion中的无id实体



问题标题几乎不言自明。可以在Orion中创建一个无id实体。id = .*查询通常以无id的形式返回,尽管存在实体。但是,怎么会有人删除那个实体呢?这个请求显然不起作用:

{
  "contextElements": [
   {
      "type": "",
      "isPattern": "false",
      "id": ""
    }
  ],
  "updateAction": "DELETE"
}

这是返回的查询:

{
            "contextElement": {
                "type": "",
                "isPattern": "false",
                "id": "",
                "attributes": [
                    {
                        "name": "temp",
                        "type": "integer",
                        "value": "15"
                    },
                    {
                        "name": "pressure",
                        "type": "integer",
                        "value": "720"
                    }
                ]
            },
            "statusCode": {
                "code": "200",
                "reasonPhrase": "OK"
            }
        }

Orion中有一个已知的错误(现已修复)似乎是导致您出现问题的原因。基本上,Orion将URL末尾的最后一个"/"解释为一个空元素。

例如(如本期所述):

  • v1/contextEntityTypes查询所有类型,而
  • v1/contextEntityTypes/query仅用于空类型

在您的特定情况下,一些REST操作也会发生类似的情况。如果执行GET/v1/contextEntity,您将看到所有实体,包括空id实体。您可以使用GET/v1/contextEntity/查询该特定实体(注意最后的"/")。

然后,DELETE方法似乎没有使用相同的模式。因此,如果执行DELETE/v1/contextEntity/,则会得到一个未找到上下文元素

所以,基本上,这是一个已知bug的另一种表现形式。

相关内容

  • 没有找到相关文章

最新更新