2

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

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

这是一个像http://url/DELETE/service这样的调用和像{ id: "xxxxxxx", id2: 11 }参数一样的东西。

我找不到这方面的任何好信息。有任何想法吗?

4

4 回答 4

1

RFC2616没有在 HTTP DELETE 请求中指定有关实体的任何内容。我会说你最好的选择是在你的请求路径中传递你需要的值。

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

于 2011-09-29T14:31:11.227 回答
1

您不能在 HTTP DELETE 请求中发送正文。

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

为什么不用身体http://url/srvice/xxxxxx/11代替呢?http://url/DELETE/service

于 2011-09-29T14:53:48.667 回答
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.
于 2011-09-29T14:48:28.660 回答
0

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

于 2012-12-12T21:08:00.933 回答