Dropwizard deserialisiert generische Liste von JerseyClient
Ich wollte eine generische Klasse implementieren, die zum Zwischenspeichern von Ergebnissen einer REST-API in einer lokalen MongoDB-Instanz verwendet wird. Damit dies funktioniert, muss ich eine Sammlung deserialisieren, die ich von JerseyClient erhalte:
Response response = this.source.request().get();
List<T> list = response.readEntity( new GenericType<List<T>>() {} );
// ... do stuff with the list
Sagen wir, ich verwende diesen Code in einem Kontext vonT
in Bezug auf eine KlasseFoo
. Das wirklich seltsame ist, nach demreadEntity
Anruf,list
ist keinList<Foo>
, stattdessen ist einList<LinkedHashMap>
. Wie ist das überhaupt möglich, wenn ich das Generic @ klar deklariert habT
seinFoo
?
Was muss ich tun, um ein richtiges @ zu bekommList<T>
, d. h.List<Foo>
stattdessen
Hinweis Wenn ich das Generikum entferne und @ benut
List<Foo> list = response.readEntity( new GenericType<List<Foo>>() {} );
directly stattdessen funktioniert es gut, aber ich brauche das Generikum wirklich, um da zu sein!