如何使用webclient在Apache CXF JAX-RS中使用body发送DELETE请求?

时间:2012-11-05 05:09:01

标签: java jax-rs cxf http-delete

我想将webclient.delete(deleteBody)称为POST。

WebClient client = WebClient.create(getUrl());
client = client.type("application/json").accept("application/json");
HTTPConduit conduit = WebClient.getConfig(client).getHttpConduit();
conduit.getClient().setReceiveTimeout(getApiTimeout());
Response resp = client.post(postData);

但是没有采用deleteBody的方法。

我甚至使用webclient.invoke("DELETE", deletBody)但这会引发500 HTTP错误。

这是我的删除主体:

{"password":"1ad1ad","username":11111111}

但我尝试使用curl命令来DELETE工作:

curl -q -H "Accept: application/json" -H "Content-type: application/json" -X DELETE -d @del.json http://d.eze.cc/api/pd/xxxxx/DEL001234/

1 个答案:

答案 0 :(得分:2)

你是对的,CXF WebClient不支持在DELETE请求中发送正文。

  1. 这没关系,因为发送带有DELETE请求的正文是没有意义的。请参阅此问题:Is an entity body allowed for an HTTP DELETE request?
  2. 如果您遇到500错误,请查看服务器日志。如何实现服务器端REST?