Get list of JSON objects with Spring RestTemplate Get list of JSON objects with Spring RestTemplate java java

Get list of JSON objects with Spring RestTemplate


First define an object to hold the entity coming back in the array.. e.g.

@JsonIgnoreProperties(ignoreUnknown = true)public class Rate {    private String name;    private String code;    private Double rate;    // add getters and setters}

Then you can consume the service and get a strongly typed list via:

ResponseEntity<List<Rate>> rateResponse =        restTemplate.exchange("https://bitpay.com/api/rates",                    HttpMethod.GET, null, new ParameterizedTypeReference<List<Rate>>() {            });List<Rate> rates = rateResponse.getBody();

The other solutions above will also work, but I like getting a strongly typed list back instead of an Object[].


Maybe this way...

ResponseEntity<Object[]> responseEntity = restTemplate.getForEntity(urlGETList, Object[].class);Object[] objects = responseEntity.getBody();MediaType contentType = responseEntity.getHeaders().getContentType();HttpStatus statusCode = responseEntity.getStatusCode();

Controller code for the RequestMapping

@RequestMapping(value="/Object/getList/", method=RequestMethod.GET)public @ResponseBody List<Object> findAllObjects() {    List<Object> objects = new ArrayList<Object>();    return objects;}

ResponseEntity is an extension of HttpEntity that adds a HttpStatus status code. Used in RestTemplate as well @Controller methods.In RestTemplate this class is returned by getForEntity() and exchange().


For me this worked

Object[] forNow = template.getForObject("URL", Object[].class);    searchList= Arrays.asList(forNow);

Where Object is the class you want