I have an execute method that I've created where I pass in my restTemplate instance along with the class obj. However, I'm getting some warnings about unchecked types. I can't seem to figure out how to do this with generics. Here's what I have so far:
public class RepositoryUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(RepositoryUtils.class);
public static ResponseEntity execute(String url, RestTemplate restTemplate, Class generic) {
LOGGER.info("GET: {}", url);
ResponseEntity response = null;
try {
response = restTemplate.exchange(url, HttpMethod.GET, RequestHelper.getGzipHttpEntity(), generic);
} catch (Exception e) {
LOGGER.error("RestTemplate: {} - {}", url, e.getMessage());
}
return response;
}
}
And here is how I make a call to my static execute:
ResponseEntity<Channels> response = RepositoryUtils.execute(channelUrlFinal, restTemplate, Channels.class);
Here is what you could try as signature of your method:
public static <T> ResponseEntity<T> execute(String url, RestTemplate restTemplate,
Class<T> generic) {