I have a this generic :
public class GenericResponseEntities<T> extends BSResponseEntity {
private List<T> returnedObject;
/**
* @return the returnedObject
*/
public List<T> getReturnedObject() {
return returnedObject;
}
/**
* @param returnedObject
* the returnedObject to set
*/
public void setReturnedObject(List<T> returnedObject) {
this.returnedObject = returnedObject;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "GenericResponseEntities [returnedObject=" + returnedObject + "]";
}
}
I use it like this :
public static <T> List<T> getGenericFromUrl(String url) {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<GenericResponseEntities<T>> responseEntity;
List<T> list = new ArrayList<T>();
try {
responseEntity = restTemplate.getForEntity(url, GenericResponseEntities<T>.class);
if (responseEntity.getBody().getCode().equals(HttpStatus.OK.toString())) {
list.addAll(responseEntity.getBody().getReturnedObject());
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
I have these errors on ligne :
My question is how can I get the class of GenericResponseEntities.class ?
I can avoid these errors by using specific response entity (FooResponseEntity, BarResponseEntity ...). With this solution, I'll have so much specific response entity that specific server response.
Thanks
Msf vtp if I remove <T>
in signature, I have this error :