我必须将我们的j2ee应用程序与REST Web服务集成在一起。我想使用JBoss的RestEasy JAX- RS实现。Web服务返回JSON格式的数组。我有这段代码:
Client client = ClientBuilder.newClient(); WebTarget target = client.target("http://myservices.com/schemes/all"); Response response = target.request().get();
我可以将此“响应”对象映射到List<Scheme>使用RestEasy吗?谢谢
List<Scheme>
如果您的JSON提供程序能够转换JSON为适当的实体,那么可以。get您在代码中调用的方法具有重载的版本,该版本接受将结果转换为的实体类。由于序列化某些集合的实现存在问题,因此必须将您的类型包装在GenericType类中,如下所示:
JSON
get
GenericType
List<Scheme> schema = [...].get(new GenericType<List<Scheme>>(){});
上面的方法应该适用于几乎所有JAX-RS兼容的实现。
JAX-RS
您还可以使用Jackson库,这使您(除其他事项外)无需集合即可传递集合。
Jackson