public interface GenericHttpMessageConverter<T> extends HttpMessageConverter<T>
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.ParameterizedTypeReference
Modifier and Type | Method and 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.
|
canRead, canWrite, getSupportedMediaTypes, read, write
boolean canRead(Type type, Class<?> contextClass, MediaType mediaType)
HttpMessageConverter.canRead(Class, MediaType)
with additional ones
related to the generic type.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 be null
)mediaType
- the media type to read, can be null
if not specified.
Typically the value of a Content-Type
header.true
if readable; false
otherwiseT read(Type type, Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
type
- the (potentially generic) type of object to return. This type must have
previously been passed to the canRead
method of this interface,
which must have returned true
.contextClass
- a context class for the target type, for example a class
in which the target type appears in a method signature (can be null
)inputMessage
- the HTTP input message to read fromIOException
- in case of I/O errorsHttpMessageNotReadableException
- in case of conversion errorsboolean canWrite(Type type, Class<?> clazz, MediaType mediaType)
This method should perform the same checks than
HttpMessageConverter.canWrite(Class, MediaType)
with additional ones
related to the generic type.
type
- the (potentially generic) type to test for writability
(can be null
if not specified)clazz
- the source object class to test for writabilitymediaType
- the media type to write (can be null
if not specified);
typically the value of an Accept
header.true
if writable; false
otherwisevoid write(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
t
- the object to write to the output message. The type of this object must
have previously been passed to the canWrite
method of this
interface, which must have returned true
.type
- the (potentially generic) type of object to write. This type must have
previously been passed to the canWrite
method of this interface,
which must have returned true
. Can be null
if not specified.contentType
- the content type to use when writing. May be null
to
indicate that the default content type of the converter must be used. If not
null
, this media type must have previously been passed to the
canWrite
method of this interface, which must have returned
true
.outputMessage
- the message to write toIOException
- in case of I/O errorsHttpMessageNotWritableException
- in case of conversion errors