我需要调用Web服务来删除数据,我需要使用HttpDelete来完成。该服务将JSON对象作为参数。
我以前使用SetEntity完成了HttpPost,但这不适用于HttpDelete。
这是一个名为http://url/DELETE/service的调用,类似于{ id: "xxxxxxx", id2: 11 }
作为参数。
我找不到任何关于此的好消息。有什么想法吗?
答案 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中的设计缺陷,或者至少是设计限制。