我有一个通用的 api 来从 rest API 中获取不同的实体。下面是获取实体列表的方法(Groovy)。
class CommonRestApi<T>{
CommonRestApi(){
}
....
List<T> getEntities(Class<T> clazz) {
ClientResponse response = some_rest_get //works fine
T[] entities
if (response.status == 200) {
try{
GenericType<ResponseWrapper<T[]>> type = new GenericType<ResponseWrapper<T[]>>(){} //here is error
entities = response.getEntity(type).getData()
}catch(Exception e){
log.debug e.getMessage()
}
}
else {
log.debug("Status Code: " + response.status)
}
return Arrays.asList(entities)
}
}
ResponseWrapper 类(Java):
public class ResponseWrapper<T> {
private T data;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
并使用以下方法调用该方法:
commonRestApi.getEntities(MyDomain.class)
此处 REST api 成功返回数据,但映射到 pojo 不起作用。错误消息只是:null。谁能告诉我这是否可能。如果是,请给我一些指导。注:通用API类在groovy中