public class KotlinSerializationJsonHttpMessageConverter extends AbstractGenericHttpMessageConverter<Object>
HttpMessageConverter
that can read and write JSON using
kotlinx.serialization.
This converter can be used to bind @Serializable Kotlin classes,
open polymorphic serialization
is not supported.
It supports application/json and application/*+json with
various character sets, UTF-8 being the default.
logger| Constructor and Description |
|---|
KotlinSerializationJsonHttpMessageConverter()
Construct a new
KotlinSerializationJsonHttpMessageConverter with the default configuration. |
KotlinSerializationJsonHttpMessageConverter(kotlinx.serialization.json.Json json)
Construct a new
KotlinSerializationJsonHttpMessageConverter with a custom configuration. |
| 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.
|
Object |
read(Type type,
Class<?> contextClass,
HttpInputMessage inputMessage)
Read an object of the given type form the given input message, and returns it.
|
protected Object |
readInternal(Class<?> clazz,
HttpInputMessage inputMessage)
Abstract template method that reads the actual object.
|
protected boolean |
supports(Class<?> clazz)
Indicates whether the given class is supported by this converter.
|
protected void |
writeInternal(Object object,
Type type,
HttpOutputMessage outputMessage)
Abstract template method that writes the actual body.
|
write, writeInternaladdDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcanRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, writepublic KotlinSerializationJsonHttpMessageConverter()
KotlinSerializationJsonHttpMessageConverter with the default configuration.public KotlinSerializationJsonHttpMessageConverter(kotlinx.serialization.json.Json json)
KotlinSerializationJsonHttpMessageConverter with a custom configuration.protected boolean supports(Class<?> clazz)
AbstractHttpMessageConvertersupports in class AbstractGenericHttpMessageConverter<Object>clazz - the class to test for supporttrue if supported; false otherwisepublic boolean canRead(Type type, @Nullable Class<?> contextClass, @Nullable MediaType mediaType)
GenericHttpMessageConverterHttpMessageConverter.canRead(Class, MediaType) with additional ones
related to the generic type.canRead in interface GenericHttpMessageConverter<Object>canRead in class AbstractGenericHttpMessageConverter<Object>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 otherwisepublic boolean canWrite(@Nullable Type type, Class<?> clazz, @Nullable MediaType mediaType)
GenericHttpMessageConverterThis method should perform the same checks as
HttpMessageConverter.canWrite(Class, MediaType) with additional ones
related to the generic type.
canWrite in interface GenericHttpMessageConverter<Object>canWrite in class AbstractGenericHttpMessageConverter<Object>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 otherwisepublic final Object read(Type type, @Nullable Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
GenericHttpMessageConvertertype - 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 errorsprotected final Object readInternal(Class<?> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
AbstractHttpMessageConverterAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage).readInternal in class AbstractHttpMessageConverter<Object>clazz - the type of object to returninputMessage - the HTTP input message to read fromIOException - in case of I/O errorsHttpMessageNotReadableException - in case of conversion errorsprotected final void writeInternal(Object object, @Nullable Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
AbstractGenericHttpMessageConverterAbstractGenericHttpMessageConverter.write(T, java.lang.reflect.Type, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage).writeInternal in class AbstractGenericHttpMessageConverter<Object>object - the object to write to the output messagetype - the type of object to write (may be null)outputMessage - the HTTP output message to write toIOException - in case of I/O errorsHttpMessageNotWritableException - in case of conversion errors