Example usage for org.springframework.web.client HttpMessageConverterExtractor extractData

List of usage examples for org.springframework.web.client HttpMessageConverterExtractor extractData

Introduction

In this page you can find the example usage for org.springframework.web.client HttpMessageConverterExtractor extractData.

Prototype

@Override
    @SuppressWarnings({ "unchecked", "rawtypes", "resource" })
    public T extractData(ClientHttpResponse response) throws IOException 

Source Link

Usage

From source file:org.eclipse.cft.server.core.internal.client.CloudFoundryClientFactory.java

private static String getJson(RestTemplate restTemplate, String urlString) {
    ClientHttpResponse response = null;/*from   ww  w  . j  a v  a2 s.  c o m*/
    HttpMethod method = null;
    try {
        method = HttpMethod.GET;

        URI url = new UriTemplate(urlString).expand();
        ClientHttpRequest request = restTemplate.getRequestFactory().createRequest(url, method);

        List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
        acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
        request.getHeaders().setAccept(acceptableMediaTypes);
        //if (requestCallback != null) {
        //   requestCallback.doWithRequest(request);
        //}
        response = request.execute();
        if (response.getBody() != null) {
            HttpMessageConverterExtractor<String> extractor = new HttpMessageConverterExtractor<String>(
                    String.class, restTemplate.getMessageConverters());
            String data = extractor.extractData(response);
            return data;
        }
        ;
    } catch (IOException ex) {
        throw new ResourceAccessException(
                "I/O error on " + method.name() + " request for \"" + urlString + "\":" + ex.getMessage(), ex);
    } finally {
        if (response != null) {
            response.close();
        }
    }
    return null;
}

From source file:org.craftercms.commons.rest.HttpMessageConvertingResponseErrorHandler.java

@Override
public void handleError(ClientHttpResponse response) throws IOException {
    HttpStatus status = response.getStatusCode();
    HttpMessageConverterExtractor<?> responseExtractor = new HttpMessageConverterExtractor<>(responseType,
            messageConverters);/*from   ww w .  ja  v a  2 s. com*/

    Object errorDetails;
    try {
        errorDetails = responseExtractor.extractData(response);
    } catch (RestClientException e) {
        // No message converter to extract the response, so make the error details
        // the response body as string
        throw new RestServiceException(status, getResponseBodyAsString(response));
    }

    throw new RestServiceException(status, errorDetails);
}