将http删除发送到我的服务器时会发生这种情况
Response Status: 405 (Method Not Allowed)
标题看起来像这样
Date: Sat, 31 Jan 2015 19:17:47 GMT
Server: WildFly/8
Connection: keep-alive
X-Powered-By: Undertow/1
Content-Length: 0
Allow: HEAD, POST, GET, OPTIONS, PUT
我怀疑我必须启用http删除方法,但不知道如何。
这是我的删除方法
@DELETE
@Path("/{id}")
public boolean deleteItem(@PathParam("id") long itemId);
这是删除的网址
wrong: http://192.168.2.101:8080/DataAccessRemoteWebapp/rest/dataitem/id=1
right: http://192.168.2.101:8080/DataAccessRemoteWebapp/rest/dataitem/1
我正在使用jax-rs
import javax.ws.rs.DELETE;
答案 0 :(得分:3)
注释@Path("/{id})"
需要在id
之后直接/
,因此它与您的测试网址不匹配
http://192.168.2.101:8080/DataAccessRemoteWebapp/rest/dataitem/id=1
相反,请删除id=
:
http://192.168.2.101:8080/DataAccessRemoteWebapp/rest/dataitem/1
答案 1 :(得分:1)
stackoverflow上的旧post可以回答您的问题:
网址= / contacts / delete / contactname
405因为
似乎删除总是表现为提交(Post方法)而你就是 尝试>从URL调用get方法。这是不可能的 像get一样调用> post方法。如果你真的想打个电话 来自>浏览器的web服务进行测试,只需下载一个Mozilla插件即可 (海报)将帮助您在所有人中提交网络服务 方法类型。