如何使用webclient在Apache CXF JAX-RS中发送DELETE请求?
问题描述:
我想打电话webclient.delete(deleteBody)
类似于POST。如何使用webclient在Apache CXF JAX-RS中发送DELETE请求?
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
命令审判删除其工作:
curl -q -H "Accept: application/json" -H "Content-type: application/json" -X DELETE -d @del.json http://d.eze.cc/api/pd/xxxxx/DEL0/
答
你是正确的CXF WebClient
不支持在发送体DELETE
请求。
- 这是好的,因为发送请求的请求的主体没有意义。看到这个问题:Is an entity body allowed for an HTTP DELETE request?
- 对于
500
错误,你可以看看服务器日志。服务器端REST如何实现?