在Android中使用JSON有效负载的HttpDelete请求

时间:2011-09-29 14:26:17

标签: android json http-delete

我需要调用Web服务来删除数据,我需要使用HttpDelete来完成。该服务将JSON对象作为参数。

我以前使用SetEntity完成了HttpPost,但这不适用于HttpDelete。

这是一个名为http://url/DELETE/service的调用,类似于{ id: "xxxxxxx", id2: 11 }作为参数。

我找不到任何关于此的好消息。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

RFC2616未在HTTP DELETE请求中指定任何有关实体的内容。我想说最好的办法就是在你的请求路径中传递你需要的值。

  

http:// url / DELETE / service / xxxxxx / 11

答案 1 :(得分:1)

您无法在HTTP DELETE请求中发送正文。

如果您需要这样做,您的REST设计可能有问题。

为什么http://url/srvice/xxxxxx/11而非http://url/DELETE/service与身体不相同?

答案 2 :(得分:0)

id最有可能在url中传递,或者可能在头值中传递。这是一个例子:

HttpDelete httpdelete = new HttpDelete(targetURL);                              
httpdelete.setHeader("id",id);  // If not in the url, this could be where the id is set.

答案 3 :(得分:0)

有些用例会很棒。我现在遇到的一个问题是需要“批量删除”。基本上,出于效率原因,一次删除一个条目比一次删除多个条目要慢。我被迫使用POST并且不是RESTful。在我看来,这是REST中的设计缺陷,或者至少是设计限制。