尝试执行POST时不允许REST Java方法
我只想创建一个简单的REST服务,它使用尝试执行POST时不允许REST Java方法,java,rest,http-status-code-405,Java,Rest,Http Status Code 405,我只想创建一个简单的REST服务,它使用@GET和@POST。 对于@GET功能,一切正常,但对于@POST,当我想在我的服务器上创建一个新用户时,浏览器会一直运行(不允许使用此方法)。 我读了很多关于如何修复这个错误的文章,但我还没有得到任何东西 我的@POST代码: @Path("/hello") public class HelloResource(){ @POST @Produces(MediaType.APPLICATION_JSON) @Path("/post") public Re
@GET
和@POST
。
对于@GET
功能,一切正常,但对于@POST
,当我想在我的服务器上创建一个新用户时,浏览器会一直运行(不允许使用此方法)。
我读了很多关于如何修复这个错误的文章,但我还没有得到任何东西
我的@POST
代码:
@Path("/hello")
public class HelloResource(){
@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("/post")
public Response createUser(@PathParam("name") String name,@PathParam("address") String address,@PathParam("birthYear") String birth,@PathParam("ps") String password) throws NotAllowedException,MethodNotFoundException,Exception {
DataStore.getInstance().putPerson(new Person(name, address, Integer.parseInt(birth), password));
String json = "{\n";
json += "\"status\": " + '"'+"CREATED" +'"'+ ",\n";
json+="}";
return Response.status(200).entity(json).build();
}}
我还尝试使用(MediaType.APPLICATION.JSON)和(MediaType.TEXT_PLAIN)添加@Consumes
函数,但没有任何更改
此外,我为发布输入的URL为:
http://localhost:8080/HelloREST/rest/hello/post?name=PouYad&address=mustbejsonlater&birthYear=2005&ps=12345
如您所见,我还尝试了许多异常处理程序
有人能帮忙吗?通过浏览器直接访问URL只能创建Get请求,不能创建POST请求 你应该
通过浏览器直接访问URL只能创建Get请求,不能创建POST请求 你应该
你真的在发送POST请求吗?尝试添加@GET处理程序。我猜您实际上是在向应用程序发送GET请求;在这种情况下,“不允许使用方法”将是预期的错误,因为您只有POST的处理程序。您使用了错误的注释。使用
@QueryParam
,而不是@PathParam
。@GabrielBauman。你是什么意思?你能用邮递员工具试试吗?将http方法设置为post并重试。@PooyaSalehi我的意思是您可能正在向端点发送GET请求,而不是post。错误正好告诉你。你真的在发送POST请求吗?尝试添加@GET处理程序。我猜您实际上是在向应用程序发送GET请求;在这种情况下,“不允许使用方法”将是预期的错误,因为您只有POST的处理程序。您使用了错误的注释。使用@QueryParam
,而不是@PathParam
。@GabrielBauman。你是什么意思?你能用邮递员工具试试吗?将http方法设置为post并重试。@PooyaSalehi我的意思是您可能正在向端点发送GET请求,而不是post。错误正是告诉你这一点。