Interface GenericHttpMessageConverter<T>
- Type Parameters:
T
- the converted object type
- All Superinterfaces:
HttpMessageConverter<T>
- All Known Implementing Classes:
AbstractGenericHttpMessageConverter
,AbstractJackson2HttpMessageConverter
,AbstractJsonHttpMessageConverter
,GsonHttpMessageConverter
,Jaxb2CollectionHttpMessageConverter
,JsonbHttpMessageConverter
,MappingJackson2CborHttpMessageConverter
,MappingJackson2HttpMessageConverter
,MappingJackson2SmileHttpMessageConverter
,MappingJackson2XmlHttpMessageConverter
,MappingJackson2YamlHttpMessageConverter
,ResourceRegionHttpMessageConverter
A specialization of
HttpMessageConverter
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:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates whether the given type can be read by this converter.boolean
Indicates whether the given class can be written by this converter.read
(Type type, Class<?> contextClass, HttpInputMessage inputMessage) Read an object of the given type from the given input message, and returns it.void
write
(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage) Write a given object to the given output message.Methods inherited from interface org.springframework.http.converter.HttpMessageConverter
canRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, write
-
Method Details
-
canRead
Indicates whether the given type can be read by this converter. This method should perform the same checks asHttpMessageConverter.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, @Nullable Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Read an object of the given type from 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
Indicates whether the given class can be written by this converter.This method should perform the same checks as
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, @Nullable Type type, @Nullable MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException Write a 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
-