0

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 : enter image description here

enter image description here

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 :

enter image description here

Zozo Zozo
  • 141
  • 4
  • 4
  • 12

0 Answers0