在RESTful应用程序中将JSON转换为Java对象

时间:2016-05-09 13:54:45

标签: java json rest jsf resteasy

我有以下方法的休息服务:

@GET
@Path("/{param}/timings/{param2}")
@Produces(MediaType.APPLICATION_JSON)
public List<TimingModel> getTimings(@PathParam("param") int param, @PathParam("param2") int param2) {
    //return some list
}

我有以下两种方法来使用服务

public List<TimingClient> getTimings() {
    Client client = ClientBuilder.newClient();
    WebTarget target = client.target("some_url");
    Response response = target.request().get();
    List<TimingClient> readEntity = response.readEntity(ArrayList.class);
    return readEntity;
}

现在问题是我无法转回我的数据模型(Timing Client),我得到以下异常:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to models.TimingClient

虽然如果我从JSF页面访问此方法,我会完美地获得列表。

<h:dataTable value="#{bean.timings}">

如何转换回Java对象?

环境:

  • RestEasy
  • Wildfly 10.0
  • JSF Mojarra 2.2

0 个答案:

没有答案