2016-06-24 4 views
0

Ich benutze Jersey erholsame Anwendung.java.util.List. <init>() in GenericType Trikot-Client

Ich bekomme unter Fehler beim Konvertieren der Objektliste von JSON zu Objekt.

Jersey Client-Code

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

Stacktrace

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) 

Obwohl ich korrekten Werte in itemList bin immer.

Kann mir jemand sagen, warum es kommt und was ist die Auflösung, um es zu vermeiden?

Antwort

1

Sieht aus wie Jersey versucht, eine Schnittstelle (List) über Reflektion zu instanziieren, und fehlschlägt, da es den Konstruktor nicht finden kann.

Der Jersey-Code sollte

sein
new GenericType<ArrayList<Item>>() 
Verwandte Themen