org.springframework.web.client

## Class HttpMessageConverterExtractor<T>

- java.lang.Object
- - 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

Constructors
Constructor and Description
`HttpMessageConverterExtractor(Class<T> responseType, List<HttpMessageConverter<?>> messageConverters)` Creates a new instance of the `HttpMessageConverterExtractor` with the given response type and message converters.
`HttpMessageConverterExtractor(Type responseType, List<HttpMessageConverter<?>> messageConverters)` Creates a new instance of the `HttpMessageConverterExtractor` with the given response type and message converters.

### Method Summary

Methods
`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.

#### HttpMessageConverterExtractor

    public HttpMessageConverterExtractor(Type 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