我需要调用 Web 服务来删除数据,并且需要使用 HttpDelete 来完成。该服务将 JSON 对象作为参数。
我之前使用 SetEntity 完成了 HttpPost,但这不适用于 HttpDelete。
这是一个像http://url/DELETE/service这样的调用和像{ id: "xxxxxxx", id2: 11 }
参数一样的东西。
我找不到这方面的任何好信息。有任何想法吗?
我需要调用 Web 服务来删除数据,并且需要使用 HttpDelete 来完成。该服务将 JSON 对象作为参数。
我之前使用 SetEntity 完成了 HttpPost,但这不适用于 HttpDelete。
这是一个像http://url/DELETE/service这样的调用和像{ id: "xxxxxxx", id2: 11 }
参数一样的东西。
我找不到这方面的任何好信息。有任何想法吗?
RFC2616没有在 HTTP DELETE 请求中指定有关实体的任何内容。我会说你最好的选择是在你的请求路径中传递你需要的值。
http://url/DELETE/service/xxxxxx/11
您不能在 HTTP DELETE 请求中发送正文。
如果您需要这样做,那么您的 REST 设计可能有问题。
为什么不用身体http://url/srvice/xxxxxx/11
代替呢?http://url/DELETE/service
id 很可能在 url 中传递,或者可能在标头值中传递。这是一个例子:
HttpDelete httpdelete = new HttpDelete(targetURL);
httpdelete.setHeader("id",id); // If not in the url, this could be where the id is set.
有些用例会很棒。我现在遇到的一个问题是需要“批量删除”。基本上,出于效率原因,一次删除一个条目比一次删除多个条目要慢得多。我被迫使用 POST 而不是 RESTful。在我看来,这是 REST 的设计缺陷,或者至少是设计限制。