2017-08-14 156 views
-5

休息控制器:405错误在POST方法

@Path("/json") 
public class Second { 
    @POST 
    @Path("/say") 
    @Consumes(MediaType.TEXT_PLAIN) 
    public String hello() { 
     return "hello"; 
    } 
} 

请求呼叫返回的HTTP状态代码405

+0

需要更多的细节:什么服务器,版本,配置,调用代码 –

+0

你如何访问端点“说”? –

+1

你应该明确你的要求是什么(参数等)。 –

回答

1


首先,405是方法不允许的错误。所以你需要把它改成@GET。
其次,如果你要打印JSON,你应该使用@Produces({} MediaType.APPLICATION_JSON) 这里是GET方法的例子:

//GET method to print JSON 
@Path("/say") 
@GET 
@Produces({MediaType.APPLICATION_JSON}) 
public String hello() 
{ 
    return "{\"message\":\"hello\"}"; 

} 

,或者如果你必须让普通字符串(如提及问题),那么试试这个:

@Path("/say") 
    @GET 
    @Produces(MediaType.TEXT_PLAIN) 
    public String hello() 
    { 
     return "hello"; 

    } 

对于POST方法,你需要传递的数据(在这种情况下,字符串)作为参数

@Path("/say") 
    @POST 
    @Produces(MediaType.TEXT_PLAIN) 
    public String hello(String name) 
    { 
     return "hello "+name; 

    } 

P.S.也不要忘记给你的HTML输入标签的名称属性

希望它有帮助。

+0

thanku 4 rply @Ashish Raj ... bt的GET方法工作良好...但我使用POST方法代码错误..我可以帮助我编写代码.. – pooja

+0

告诉我你需要发布什么json, –

+1

我需要发布名称是在我的HTML格式的文本字段中。当我点击保存按钮时,我需要这个名称来查看我的服务器。 @ Ashish Raj – pooja