将 REST 资源提取为 List<T> 使用 Jersey
我正在尝试在泽西岛编写一个泛型函数,该函数可用于通过REST获取相同类型的对象列表。我基于此论坛中的信息:链接
@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>>() {});
}
但是,这不起作用。如果我尝试执行它,我会得到以下错误:.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
但是,如果我在没有模板化的情况下编写此函数(用实际的类名替换T),它就可以正常工作。当然,通过这种方式,函数失去了它的意义。
有没有办法解决这个问题?