Interface HttpMessageConverter<T>
- Type Parameters:
T
- the converted object type
- All Known Subinterfaces:
GenericHttpMessageConverter<T>
,SmartHttpMessageConverter<T>
- All Known Implementing Classes:
AbstractGenericHttpMessageConverter
,AbstractHttpMessageConverter
,AbstractJackson2HttpMessageConverter
,AbstractJaxb2HttpMessageConverter
,AbstractJsonHttpMessageConverter
,AbstractKotlinSerializationHttpMessageConverter
,AbstractSmartHttpMessageConverter
,AbstractWireFeedHttpMessageConverter
,AbstractXmlHttpMessageConverter
,AllEncompassingFormHttpMessageConverter
,AtomFeedHttpMessageConverter
,BufferedImageHttpMessageConverter
,ByteArrayHttpMessageConverter
,FormHttpMessageConverter
,GsonHttpMessageConverter
,Jaxb2CollectionHttpMessageConverter
,Jaxb2RootElementHttpMessageConverter
,JsonbHttpMessageConverter
,KotlinSerializationBinaryHttpMessageConverter
,KotlinSerializationCborHttpMessageConverter
,KotlinSerializationJsonHttpMessageConverter
,KotlinSerializationProtobufHttpMessageConverter
,KotlinSerializationStringHttpMessageConverter
,MappingJackson2CborHttpMessageConverter
,MappingJackson2HttpMessageConverter
,MappingJackson2SmileHttpMessageConverter
,MappingJackson2XmlHttpMessageConverter
,MappingJackson2YamlHttpMessageConverter
,MarshallingHttpMessageConverter
,ObjectToStringHttpMessageConverter
,ProtobufHttpMessageConverter
,ProtobufJsonFormatHttpMessageConverter
,ResourceHttpMessageConverter
,ResourceRegionHttpMessageConverter
,RssChannelHttpMessageConverter
,SourceHttpMessageConverter
,StringHttpMessageConverter
public interface HttpMessageConverter<T>
Strategy interface for converting from and to HTTP requests and responses.
- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller, Rossen Stoyanchev
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates whether the given class can be read by this converter.boolean
Indicates whether the given class can be written by this converter.Return the list of media types supported by this converter.getSupportedMediaTypes
(Class<?> clazz) Return the list of media types supported by this converter for the given class.read
(Class<? extends T> clazz, HttpInputMessage inputMessage) Read an object of the given type from the given input message, and returns it.void
write
(T t, @Nullable MediaType contentType, HttpOutputMessage outputMessage) Write a given object to the given output message.
-
Method Details
-
canRead
Indicates whether the given class can be read by this converter.- Parameters:
clazz
- the class to test for readabilitymediaType
- the media type to read (can benull
if not specified); typically the value of aContent-Type
header.- Returns:
true
if readable;false
otherwise
-
canWrite
Indicates whether the given class can be written by this converter.- Parameters:
clazz
- the 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
-
getSupportedMediaTypes
Return the list of media types supported by this converter. The list may not apply to every possible target element type and calls to this method should typically be guarded viacanWrite(clazz, null
. The list may also exclude MIME types supported only for a specific class. Alternatively, usegetSupportedMediaTypes(Class)
for a more precise list.- Returns:
- the list of supported media types
-
getSupportedMediaTypes
Return the list of media types supported by this converter for the given class. The list may differ fromgetSupportedMediaTypes()
if the converter does not support the given Class or if it supports it only for a subset of media types.- Parameters:
clazz
- the type of class to check- Returns:
- the list of media types supported for the given class
- Since:
- 5.3.4
-
read
T read(Class<? extends T> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Read an object of the given type from the given input message, and returns it.- Parameters:
clazz
- the type of object to return. This type must have previously been passed to thecanRead
method of this interface, which must have returnedtrue
.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
-
write
void write(T t, @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
.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
-