Obteniendo el recurso REST como List <T> con Jersey
Estoy tratando de escribir una función genérica en Jersey que se pueda usar para obtener una Lista de objetos del mismo tipo a través de REST. Lo basé en la información encontrada en este foro:enlac
@Override
public <T> List<T> fetchResourceAsList(String url) {
ClientConfig cc = new DefaultClientConfig();
Client c = Client.create(cc);
if (userName!=null && password!=null) {
c.addFilter(new HTTPBasicAuthFilter(userName, password));
}
WebResource resource = c.resource(url);
return resource.get(new GenericType<List<T>>() {});
}
Sin embargo, esto no funciona. Si intento ejecutarlo, aparece el siguiente error:SEVERE: A message body reader for Java class java.util.List, and Java type java.util.List<T>, and MIME media type application/xml was not found
.
Sin embargo, si escribo esta función sin plantillas (reemplazando T con un nombre de clase real) simplemente funciona bien. Por supuesto, de esta manera la función pierde su significado.
¿Hay alguna manera de arreglar esto?