我想在泽西岛编写一个通用函数,它可以用来通过REST获取相同类型的对象列表。我基于它在这个论坛上找到的信息:link获取REST资源列表<T>与泽西
@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)它只是正常工作。当然,这种方式失去了它的意义。
有没有办法解决这个问题?
见下面链接 http://stackoverflow.com/questions/1603404/using-jaxb-to-unmarshal-marshal-a-liststring – fmucar
@fmucar:这又具有对服务器的提示我懂了。我需要客户端的通用类型支持。 – NagyI