如何使用drop wizard处理JSON有效负载?

时间:2013-11-21 18:53:24

标签: java json jersey dropwizard

我有一个名为Thing

的简单类
public class Thing {
  private int id
  private String name
  //getters, setters, constructor
}

我想发送一个带有效负载的请求并处理它。

请求看起来像这样:

curl -i -d '{"thing": {"id": 11, "name": "foobar"}}' http://localhost:8080/thing/{username}

但我无法弄清楚如何处理json请求。这就是我的方法:

@Path("/thing/{username}")
@POST
public Thing add(@PathParam("username") String username) {
  //how can I process the JSON payload sent and convert it to Thing object?
}

1 个答案:

答案 0 :(得分:4)

查看Jackson

ObjectMapper mapper = new ObjectMapper();
Thing impl = mapper.readValue(username, Thing.class);

只要username是有效的JSON并映射到Thing,这就行了。

注意:您可能需要注释Thing的类成员或方法。例如,在我的情况下,我必须使用com.fasterxml.jackson.annotation.JsonManagedReference来管理循环引用。但您可以在API文档中阅读有关此内容和其他注释的内容。