Lista genérica de desserialização do Dropwizard de JerseyClient
Eu queria implementar uma classe genérica para usar no cache de resultados de uma API REST em uma instância local do MongoDB. Para que isso funcione, preciso desserializar uma coleção que recebo do JerseyClient:
Response response = this.source.request().get();
List<T> list = response.readEntity( new GenericType<List<T>>() {} );
// ... do stuff with the list
Digamos que eu estou usando esse pedaço de código em um contexto deT
relacionado a uma classeFoo
. O mais estranho é que, depois doreadEntity
ligar,list
não é umList<Foo>
, em vez disso, é umList<LinkedHashMap>
. Como isso é possível, quando declaro claramente o GenéricoT
ser estarFoo
?
O que preciso fazer para obter uma solução adequada?List<T>
, ou seja,List<Foo>
em vez de?
Nota: Se eu remover o genérico e usar
List<Foo> list = response.readEntity( new GenericType<List<Foo>>() {} );
diretamente, em vez disso, funciona bem, mas eu realmente preciso que esse genérico esteja lá!