org.springframework.http.converter

## Interface GenericHttpMessageConverter<T>

All Superinterfaces:
  HttpMessageConverter<T>

All Known Implementing Classes:
  Jaxb2CollectionHttpMessageConverter, MappingJackson2HttpMessageConverter, MappingJacksonHttpMessageConverter

    public interface GenericHttpMessageConverter<T>
    extends HttpMessageConverter<T>

A specialization of `HttpMessageConverter` that can convert an HTTP request into a target object of a specified generic type.

Since:
  3.2
Author:
  Arjen Poutsma, Rossen Stoyanchev
See Also:
  `ParameterizedTypeReference`

### Method Summary

Methods
`boolean` `canRead(Type type, Class<?> contextClass, MediaType mediaType)` Indicates whether the given type can be read by this converter.
`T` `read(Type type, Class<?> contextClass, HttpInputMessage inputMessage)` Read an object of the given type form the given input message, and returns it.

### Methods inherited from interface org.springframework.http.converter.HttpMessageConverter

`canRead, canWrite, getSupportedMediaTypes, read, write`

### Method Detail

#### canRead

    boolean canRead(Type type,
                  Class<?> contextClass,
                  MediaType mediaType)

Indicates whether the given type can be read by this converter.

Parameters:
  `type` - the type to test for readability
  `contextClass` - a context class for the target type, for example a class in which the target type appears in a method signature, can be `null`
  `mediaType` - the media type to read, can be `null` if not specified. Typically the value of a `Content-Type` header.
Returns:
  `true` if readable; `false` otherwise

#### read

    T read(Type type,
         Class<?> contextClass,
         HttpInputMessage inputMessage)
           throws IOException,
                  HttpMessageNotReadableException

Read an object of the given type form the given input message, and returns it.

Parameters:
  `type` - the type of object to return. This type must have previously been passed to the `canRead` method of this interface, which must have returned `true`.
  `contextClass` - a context class for the target type, for example a class in which the target type appears in a method signature, can be `null`
  `inputMessage` - the HTTP input message to read from
Returns:
  the converted object
Throws:
  `IOException` - in case of I/O errors
  `HttpMessageNotReadableException` - in case of conversion errors