我正在尝试使用以下@DELETE方法从“Contacts”表中删除“Contact”(使用Jersey Framework(JAX-RS实现)
@DELETE
@Path("/delete/{contact}")
public String deleteContact(@PathParam("contact") String name) throws ClassNotFoundException, SQLException {
String response = DAOaccess.deleteContact(name);
return response;
}
以下网址用于从浏览器调用网络服务:
/联系人/删除/ CONTACTNAME
但是这样做会引发HTTP状态405 - 不允许的方法。
可能是什么原因?我该如何克服这个问题?
答案 0 :(得分:7)
网址 = / contacts / delete / contactname
405因为
似乎删除始终表现为submit (Post method)
并且您尝试从get
调用URL
方法。
This is not possible to call the post method as like get
。
如果您真的想从浏览器中调用此Web服务进行测试,只需下载Mozilla plugin (Poster)
即可帮助您以所有方法类型提交Web服务。
答案 1 :(得分:2)
如果您使用的是Firefox,请使用this插件来测试您的服务。当您从浏览器直接点击URL时,它将作为@GET
请求进行,在这种情况下是不允许的。 RestClient
也可作为独立应用提供。如果您需要更多功能,请尝试SoapUI
。我还发布了对您question on @DELETE
的回复。