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 TypeMethodDescriptionbooleanIndicates whether the given type can be read by this converter.booleanIndicates whether the given class can be written by this converter.read(Type type, @Nullable Class<?> contextClass, HttpInputMessage inputMessage) Read an object of the given type from the given input message, and returns it.voidWrite a given object to the given output message.Methods inherited from interface 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 benullif not specified. Typically, the value of aContent-Typeheader.- Returns:
trueif readable;falseotherwise
-
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 thecanReadmethod 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 benullif not specified)clazz- the source object class to test for writabilitymediaType- the media type to write (can benullif not specified); typically the value of anAcceptheader.- Returns:
trueif writable;falseotherwise- 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 thecanWritemethod of this interface, which must have returnedtrue.type- the (potentially generic) type of object to write. This type must have previously been passed to thecanWritemethod of this interface, which must have returnedtrue. Can benullif not specified.contentType- the content type to use when writing. May benullto indicate that the default content type of the converter must be used. If notnull, this media type must have previously been passed to thecanWritemethod 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
-