我最近一直致力于简单的RESTFul Web服务,在Eclipse上运行jersey。我可以让GET函数正常工作。但是当我尝试POST方法时,使用Post注释并部署它,我得到了#34;方法不允许"信息。我似乎无法弄清楚原因。有关如何让它工作的任何想法?
谢谢。
这是我的代码: -
package myapp;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Path("login")
public class SimpleClass {
@POST
@Path("/sayhello")
@Produces("text/plain")
public String sayHello(@QueryParam("username") String username)
{
return "Hello "+username;
}
}
通过以下链接访问: http://localhost:8080/RestSample/login/sayhello?username=som
我不允许使用"方法"消息。
答案 0 :(得分:1)
您正在从浏览器访问,因此浏览器的默认方法是 GET
尝试从 POSTMAN 调用和ReST客户端 您可以在哪里将方法更改为POST
答案 1 :(得分:0)
在浏览器地址栏中输入资源网址时,您正在执行GET
请求。这是浏览器的默认行为。处理它。
对仅支持GET
的端点执行POST
请求时,预期结果为405
错误:
405
(Method Not Allowed)状态代码表示该方法 请求行中收到的信息由原始服务器知道但不是 目标资源支持。 [...]
一旦您只能执行GET
请求,浏览器地址栏就无法为您提供测试REST API的灵活性。
要测试REST API,您应该使用正确的工具。它们将使您能够使用all the HTTP methods,设置request headers以及浏览器地址栏中未提供的其他功能来执行请求。
只列出一些: