GenericType jersey客户端

时间:2016-06-24 08:17:19

标签: java jersey jersey-2.0 jersey-client

我正在使用运动衫休息申请。

我在将对象列表从JSON转换为Object时遇到错误。

球衣客户代码

def itemList= clientResponse.getEntity(new GenericType<List<Item>>(){});

堆栈跟踪

Error |
java.lang.NoSuchMethodException: java.util.List.<init>()
Error |
    at java.lang.Class.getConstructor0(Class.java:3074)
Error |
    at java.lang.Class.getDeclaredConstructor(Class.java:2170)
Error |
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlClassGetDeclaredConstructor(ReflectiveInterceptor.java:456)
Error |
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlClassNewInstance(ReflectiveInterceptor.java:983)
Error |
    at com.sun.jersey.core.provider.jaxb.AbstractListElementProvider.readFrom(AbstractListElementProvider.java:306)
Error |
    at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:634)
Error |
    at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:604)
Error |
    at com.sun.jersey.api.client.ClientResponse$getEntity.call(Unknown Source)

虽然我在itemList中获得了正确的值。

任何人都可以告诉我它为什么会来,避免它的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

看起来Jersey正在尝试通过反射实例化一个接口(List),并因为无法找到构造函数而失败。

泽西岛代码应为

new GenericType<ArrayList<Item>>()