Interface GenericHttpMessageConverter<T>
- Type Parameters:
T
- the converted object type
- All Superinterfaces:
HttpMessageConverter<T>
- All Known Implementing Classes:
AbstractGenericHttpMessageConverter
,AbstractJackson2HttpMessageConverter
,AbstractJsonHttpMessageConverter
,GsonHttpMessageConverter
,Jaxb2CollectionHttpMessageConverter
,JsonbHttpMessageConverter
,KotlinSerializationJsonHttpMessageConverter
,MappingJackson2CborHttpMessageConverter
,MappingJackson2HttpMessageConverter
,MappingJackson2SmileHttpMessageConverter
,MappingJackson2XmlHttpMessageConverter
,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 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, getSupportedMediaTypes, read, write
-
Method Details
-
canRead
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, @Nullable 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
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, @Nullable Type type, @Nullable 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
-