我正在尝试使用 HttpDelete 对象来调用 Web 服务的删除方法。 Web 服务的代码从消息正文中解析 JSON。但是,我无法理解如何将主体添加到 HttpDelete 对象。有没有办法做到这一点?
使用 HttpPut 和 HttpPost,我调用 setEntity 方法并传入我的 JSON。 HttpDelete 似乎没有任何此类方法。
如果无法为 HttpDelete 对象设置主体,您能否将我链接到使用 HttpDelete 超类的资源,以便我可以设置方法(删除)并设置主体。我知道这并不理想,但目前我无法更改网络服务。
你有没有尝试过覆盖HttpEntityEnclosingRequestBase
如下:
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
import java.net.URI;
import org.apache.http.annotation.NotThreadSafe;
@NotThreadSafe
class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase {
public static final String METHOD_NAME = "DELETE";
public String getMethod() { return METHOD_NAME; }
public HttpDeleteWithBody(final String uri) {
super();
setURI(URI.create(uri));
}
public HttpDeleteWithBody(final URI uri) {
super();
setURI(uri);
}
public HttpDeleteWithBody() { super(); }
}
这将创建一个HttpDelete
- 看起来很像,有一个setEntity
方法。我认为抽象类几乎可以为你做所有的事情,所以这可能就是你所需要的。
FWIW,代码基于Google 发现的 HttpPost 来源 http://www.docjar.com/html/api/org/apache/http/client/methods/HttpPost.java.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)