我试图在POST方法中使用JSON值,但我不知道如何执行此操作。
这是我的代码:
@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 :(得分:2)
确保您实际上是在发送帖子,而您的请求的内容类型是application / json。要使用spring MVC使用它,您可以使用@RequestBody注释:
@POST
@Path("/contacts")
@Consumes({"application/json"})
public void addContact(@RequestBody MyClass c) {
其中MyClass是一个表示请求对象的简单java类(即在这种情况下,您只需要一个名为param1的String类变量。
答案 1 :(得分:0)
如果您使用的是springmvc,它会附带json的消息转换器。 您可能必须将pojo声明为方法中的参数。
答案 2 :(得分:0)
问题是来自firefox的插件并不允许我修改标题,所以当我尝试使用带有邮差的chrome上的text / plain时它可以工作。
非常感谢。