【问题标题】:How to process a JSON payload with drop wizard?如何使用放置向导处理 JSON 有效负载?
【发布时间】:2013-12-06 10:19:03
【问题描述】:

我有一个简单的类叫做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?
}

【问题讨论】:

    标签: java json jersey dropwizard


    【解决方案1】:

    查看Jackson

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

    只要 username 是有效的 JSON 并映射到 Thing,这应该可以工作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 2012-10-12
      • 1970-01-01
      • 2020-12-10
      相关资源
      最近更新 更多