Interface GenericHttpMessageConverter<T>
- All Superinterfaces:
HttpMessageConverter<T>
- All Known Implementing Classes:
AbstractGenericHttpMessageConverter
,AbstractJackson2HttpMessageConverter
,GsonHttpMessageConverter
,Jaxb2CollectionHttpMessageConverter
,MappingJackson2HttpMessageConverter
,MappingJackson2XmlHttpMessageConverter
,ResourceRegionHttpMessageConverter
public interface GenericHttpMessageConverter<T> extends HttpMessageConverter<T>
A specialization ofHttpMessageConverter
that can convert an HTTP request into a target object of a specified generic type and a source object of a specified generic type into an HTTP response.- Since:
- 3.2
- Author:
- Arjen Poutsma, Rossen Stoyanchev, Sebastien Deleuze
- See Also:
ParameterizedTypeReference
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
canRead(Type type, Class<?> contextClass, MediaType mediaType)
Indicates whether the given type can be read by this converter.boolean
canWrite(Type type, Class<?> clazz, MediaType mediaType)
Indicates whether the given class can be written 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.void
write(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage)
Write an given object to the given output message.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. This method should perform the same checks thanHttpMessageConverter.canRead(Class, MediaType)
with additional ones related to the generic type.- Parameters:
type
- the (potentially generic) type to test for readabilitycontextClass
- a context class for the target type, for example a class in which the target type appears in a method signature (can benull
)mediaType
- the media type to read, can benull
if not specified. Typically the value of aContent-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 (potentially generic) type of object to return. This type must have previously been passed to thecanRead
method of this interface, which must have returnedtrue
.contextClass
- a context class for the target type, for example a class in which the target type appears in a method signature (can benull
)inputMessage
- the HTTP input message to read from- Returns:
- the converted object
- Throws:
IOException
- in case of I/O errorsHttpMessageNotReadableException
- in case of conversion errors
canWrite
boolean canWrite(Type type, Class<?> clazz, MediaType mediaType)
Indicates whether the given class can be written by this converter.This method should perform the same checks than
HttpMessageConverter.canWrite(Class, MediaType)
with additional ones related to the generic type.- Parameters:
type
- the (potentially generic) type to test for writability (can benull
if not specified)clazz
- the source object class to test for writabilitymediaType
- the media type to write (can benull
if not specified); typically the value of anAccept
header.- Returns:
true
if writable;false
otherwise- Since:
- 4.2
write
void write(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
Write an given object to the given output message.- Parameters:
t
- the object to write to the output message. The type of this object must have previously been passed to thecanWrite
method of this interface, which must have returnedtrue
.type
- the (potentially generic) type of object to write. This type must have previously been passed to thecanWrite
method of this interface, which must have returnedtrue
. Can benull
if not specified.contentType
- the content type to use when writing. May benull
to indicate that the default content type of the converter must be used. If notnull
, this media type must have previously been passed to thecanWrite
method of this interface, which must have returnedtrue
.outputMessage
- the message to write to- Throws:
IOException
- in case of I/O errorsHttpMessageNotWritableException
- in case of conversion errors- Since:
- 4.2