2016-01-10 61 views
0

我想在POST方法上采取JSON值,但我不知道如何做到这一点。JSON与@POST Restful

这是我的代码:

@POST 
@Path("/contacts") 
@Consumes({"application/json"}) 
public void addContact() { 

    HttpSession session = request.getSession(true); 

    UserPK user = new UserPK((String) session.getAttribute("username")); 
    //dest = TAKE JSON VALUE 

    dao.addContact(user, dest); 
} 

我送与Firefox RESTClient实现的JSON值这个样子:

{"param1":"value"} 

我怎么能采取这种价值?

我们也有这样的错误消息:415不支持的媒体类型

感谢。

+0

你能解释一下更多?是“dest”你的JSON对象还是ju st从您提取的JSON对象获取值?错误消息何时发生? – Alex1620

回答

2

确保您确实发送了一篇文章,并且您的请求的内容类型是application/json。使用Spring MVC消耗这一点,你可以使用@RequestBody注释:

@POST 
@Path("/contacts") 
@Consumes({"application/json"}) 
public void addContact(@RequestBody MyClass c) { 

其中MyClass的是代表请求对象一个简单的Java类(即在这种情况下,你只需要命名参数1一个String类变量

0

如果您使用的是springmvc,它附带了json的消息转换器。 您可能必须将您的pojo声明为您方法中的参数。

0

问题是,从Firefox插件并没有让我修改标题,所以当我用纯文本/ tryed对铬与邮差它的工作。

还是要谢谢你。