public T getObject(String endpoint, Map<String, String> params, Class clazz) { RestTemplate template = new RestTemplate(); String finalUrl = URLUtils.buildUrl(endpoint, params); log.info("Calling endpoint " + finalUrl + "."); @SuppressWarnings("unchecked") ResponseEntity<T> object = (ResponseEntity<T>) template.exchange(finalUrl, HttpMethod.GET, RequestEntity.EMPTY, clazz); return object.getBody(); }
@SuppressWarnings("unchecked") @Override public List<T> getList(String endpoint, Map<String, String> params, Class clazz) { RestTemplate template = new RestTemplate(); String finalUrl = URLUtils.buildUrl(endpoint, params); log.info("Calling endpoint " + finalUrl + "."); T[] e = (T[]) Array.newInstance(clazz, 1); ResponseEntity<T[]> list = (ResponseEntity<T[]>) template.exchange(finalUrl, HttpMethod.GET, RequestEntity.EMPTY, e.getClass()); return Arrays.asList(list.getBody()); }