2015-04-02 40 views
1

问题标题非常自我解释。它可能在Orion中创建一个无id的实体。一个id = .*查询通常作为一个id-less返回,虽然是现有的实体。但是,如何删除该实体?此请求没有明显的工作:如何删除Orion中的无标识实体?

{ 
    "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" 
      } 
     } 
+0

你是如何准确创建一个没有id的实体?如果我试图用updateContext做到这一点,我得到*错误的请求,空Id *。 – LeandroGuillen 2015-04-03 09:56:16

+0

可悲的是我不记得我做到了这一点,所以不可能重复。我并没有惹到孟戈。这是一个由orion fiware-lab实例提供的100%合法回应。这里:我添加了一个公共IP。数据库仅用于测试,所以如果你想要的话,你可以把它搞乱:83.212.238.115:1026。获得回应并亲自查看。 – venge 2015-04-03 10:11:07

回答

1

有猎户座是一个known bug(现已修复),这似乎是导致您的问题。基本上Orion将URL末尾的最后一个“/”解释为一个空元素。

例如(作为发行记录):

  • V1/contextEntityTypes查询所有类型,同时
  • V1/contextEntityTypes /查询只对空型

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

然后,DELETE方法似乎没有使用相同的模式。所以,如果你做DELETE/v1/contextEntity/你得到一个找不到上下文元素

所以,基本上,这是一个已知错误的另一种体现。