Class AbstractKotlinSerializationHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<T>
org.springframework.http.converter.AbstractGenericHttpMessageConverter<Object>
org.springframework.http.converter.AbstractKotlinSerializationHttpMessageConverter<T>
- Type Parameters:
T- the type ofSerialFormat
- All Implemented Interfaces:
GenericHttpMessageConverter<Object>,HttpMessageConverter<Object>
- Direct Known Subclasses:
KotlinSerializationBinaryHttpMessageConverter,KotlinSerializationStringHttpMessageConverter
public abstract class AbstractKotlinSerializationHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>
extends AbstractGenericHttpMessageConverter<Object>
Abstract base class for
HttpMessageConverter implementations that
use Kotlin serialization.- Since:
- 6.0
- Author:
- Andreas Ahlenstorf, Sebastien Deleuze, Juergen Hoeller, Iain Henderson, Arjen Poutsma
-
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractKotlinSerializationHttpMessageConverter(T format, MediaType... supportedMediaTypes) Construct anAbstractKotlinSerializationHttpMessageConverterwith multiple supported media type and format. -
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.final Objectread(Type type, Class<?> contextClass, HttpInputMessage inputMessage) Read an object of the given type form the given input message, and returns it.protected final ObjectreadInternal(Class<?> clazz, HttpInputMessage inputMessage) Abstract template method that reads the actual object.protected abstract ObjectreadInternal(kotlinx.serialization.KSerializer<Object> serializer, T format, HttpInputMessage inputMessage) Reads the given input message with the given serializer and format.protected booleanIndicates whether the given class is supported by this converter.protected final voidwriteInternal(Object object, Type type, HttpOutputMessage outputMessage) Abstract template method that writes the actual body.protected abstract voidwriteInternal(Object object, kotlinx.serialization.KSerializer<Object> serializer, T format, HttpOutputMessage outputMessage) Write the given object to the output message with the given serializer and format.Methods inherited from class org.springframework.http.converter.AbstractGenericHttpMessageConverter
write, writeInternalMethods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.http.converter.HttpMessageConverter
canRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, write
-
Constructor Details
-
AbstractKotlinSerializationHttpMessageConverter
protected AbstractKotlinSerializationHttpMessageConverter(T format, MediaType... supportedMediaTypes) Construct anAbstractKotlinSerializationHttpMessageConverterwith multiple supported media type and format.- Parameters:
format- the formatsupportedMediaTypes- the supported media types
-
-
Method Details
-
supports
Description copied from class:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Overrides:
supportsin classAbstractGenericHttpMessageConverter<Object>- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
-
canRead
Description copied from interface:GenericHttpMessageConverterIndicates 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.- Specified by:
canReadin interfaceGenericHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>- Overrides:
canReadin classAbstractGenericHttpMessageConverter<Object>- 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
-
canWrite
Description copied from interface:GenericHttpMessageConverterIndicates 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.- Specified by:
canWritein interfaceGenericHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>- Overrides:
canWritein classAbstractGenericHttpMessageConverter<Object>- 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
-
read
public final Object read(Type type, @Nullable Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Description copied from interface:GenericHttpMessageConverterRead 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 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
-
readInternal
protected final Object readInternal(Class<?> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Description copied from class:AbstractHttpMessageConverterAbstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage).- Specified by:
readInternalin classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the type of object to returninputMessage- the HTTP input message to read from- Returns:
- the converted object
- Throws:
IOException- in case of I/O errorsHttpMessageNotReadableException- in case of conversion errors
-
readInternal
protected abstract Object readInternal(kotlinx.serialization.KSerializer<Object> serializer, T format, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Reads the given input message with the given serializer and format. -
writeInternal
protected final void writeInternal(Object object, @Nullable Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException Description copied from class:AbstractGenericHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractGenericHttpMessageConverter.write(T, java.lang.reflect.Type, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage).- Specified by:
writeInternalin classAbstractGenericHttpMessageConverter<Object>- Parameters:
object- the object to write to the output messagetype- the type of object to write (may benull)outputMessage- the HTTP output message to write to- Throws:
IOException- in case of I/O errorsHttpMessageNotWritableException- in case of conversion errors
-
writeInternal
protected abstract void writeInternal(Object object, kotlinx.serialization.KSerializer<Object> serializer, T format, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException Write the given object to the output message with the given serializer and format.
-