org.springframework.web.client
Class HttpMessageConverterExtractor<T>

java.lang.Object
  extended by org.springframework.web.client.HttpMessageConverterExtractor<T>
All Implemented Interfaces:
ResponseExtractor<T>

public class HttpMessageConverterExtractor<T>
extends Object
implements ResponseExtractor<T>

Response extractor that uses the given entity converters to convert the response into a type T.

Since:
3.0
Author:
Arjen Poutsma
See Also:
RestTemplate

Constructor Summary
HttpMessageConverterExtractor(Class<T> responseType, List<HttpMessageConverter<?>> messageConverters)
          Creates a new instance of the HttpMessageConverterExtractor with the given response type and message converters.
 
Method Summary
 T extractData(ClientHttpResponse response)
          Extract data from the given ClientHttpResponse and return it.
protected  boolean hasMessageBody(ClientHttpResponse response)
          Indicates whether the given response has a message body.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpMessageConverterExtractor

public HttpMessageConverterExtractor(Class<T> responseType,
                                     List<HttpMessageConverter<?>> messageConverters)
Creates a new instance of the HttpMessageConverterExtractor with the given response type and message converters. The given converters must support the response type.

Method Detail

extractData

public T extractData(ClientHttpResponse response)
              throws IOException
Description copied from interface: ResponseExtractor
Extract data from the given ClientHttpResponse and return it.

Specified by:
extractData in interface ResponseExtractor<T>
Parameters:
response - the HTTP response
Returns:
the extracted data
Throws:
IOException - in case of I/O errors

hasMessageBody

protected boolean hasMessageBody(ClientHttpResponse response)
                          throws IOException
Indicates whether the given response has a message body.

Default implementation returns false for a response status of 204 or 304, or a Content-Length of 0.

Parameters:
response - the response to check for a message body
Returns:
true if the response has a body, false otherwise
Throws:
IOException - in case of I/O errors