我正在
错误405:不允许使用方法
MessageEnd.java:
package com.example.wordcount;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("/jersey")
public class MessageEnd {
@GET
@Path("/getvalue/{word}")
@Produces(MediaType.TEXT_PLAIN)
public Response sayHello(@PathParam("word") String word){
String output = " Count of word " + word;
return Response.status(200).entity(output).build();
}
@PUT
@Path("/sendvalue/{msg}")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)
public Response sendMsg(@PathParam("msg") String msg){
String output = "Received message= " + msg;
return Response.status(200).entity(output).build();
}
}
仅供参考,@GET
工作正常。
我正在使用以下URI:
http://localhost:8080/message/jersey/sendvalue/hi
答案 0 :(得分:6)
当您在地址栏中输入任何内容时,浏览器仅发送GET
个请求。您可以在此处了解HTTP方法之间的区别:http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods
您应该使用正确的REST客户端来创建PUT
个请求。我使用的那个非常好的是Chrome的Postman扩展程序:link
上述错误的原因是您尝试将GET
请求发送到/ sendvalue,并且此方法/路径对没有映射。
答案 1 :(得分:0)
即使我在搞笑,使用浏览器发送POST请求!您可以使用POSTMAN chrome客户端来测试POST请求。 (就此而言,您可以对所有http方法使用POSTMAN)