Top Description Fields Constructors Methods
org.springframework.messaging.converter

public Class KotlinSerializationJsonMessageConverter

extends AbstractJsonMessageConverter
Class Inheritance
Imports
java.io.IOException, .Reader, .Writer, java.lang.reflect.Type, java.util.Map, kotlinx.serialization.KSerializer, kotlinx.serialization.SerializersKt, kotlinx.serialization.json.Json, org.springframework.util.ConcurrentReferenceHashMap, .FileCopyUtils

Implementation of MessageConverter that can read and write JSON using kotlinx.serialization.

This converter can be used to bind @Serializable Kotlin classes.

Author
Sebastien Deleuze
Since
5.3

Field Summary

Modifier and TypeField and Description
private final kotlinx.serialization.json.Json
private static final Map<Type, kotlinx.serialization.KSerializer<Object>>

Constructor Summary

AccessConstructor and Description
public
KotlinSerializationJsonMessageConverter()

Construct a new KotlinSerializationJsonMessageConverter with default configuration.

public
KotlinSerializationJsonMessageConverter(kotlinx.serialization.json.Json
the Json instance to use
json
)

Construct a new KotlinSerializationJsonMessageConverter with the given delegate.

Method Summary

Modifier and TypeMethod and Description
protected Object
protected Object
private kotlinx.serialization.KSerializer<Object>

Returns:

a resolved serializer for the given type
serializer
(Type
the type to find a serializer for
type
)

Tries to find a serializer that can marshall or unmarshall instances of the given type using kotlinx.serialization.

protected void
protected String
Inherited from org.springframework.messaging.converter.AbstractJsonMessageConverter:
convertFromInternalconvertToInternalsupports

Field Detail

jsonback to summary
private final kotlinx.serialization.json.Json json
serializerCacheback to summary
private static final Map<Type, kotlinx.serialization.KSerializer<Object>> serializerCache

Constructor Detail

KotlinSerializationJsonMessageConverterback to summary
public KotlinSerializationJsonMessageConverter()

Construct a new KotlinSerializationJsonMessageConverter with default configuration.

KotlinSerializationJsonMessageConverterback to summary
public KotlinSerializationJsonMessageConverter(kotlinx.serialization.json.Json json)

Construct a new KotlinSerializationJsonMessageConverter with the given delegate.

Parameters
json:kotlinx.serialization.json.Json

the Json instance to use

Method Detail

fromJsonback to summary
protected Object fromJson(Reader reader, Type resolvedType)

Implements abstract org.springframework.messaging.converter.AbstractJsonMessageConverter.fromJson.

Annotations
@Override
fromJsonback to summary
protected Object fromJson(String payload, Type resolvedType)

Implements abstract org.springframework.messaging.converter.AbstractJsonMessageConverter.fromJson.

Annotations
@Override
serializerback to summary
private kotlinx.serialization.KSerializer<Object> serializer(Type type)

Tries to find a serializer that can marshall or unmarshall instances of the given type using kotlinx.serialization. If no serializer can be found, an exception is thrown.

Resolved serializers are cached and cached results are returned on successive calls.

Parameters
type:Type

the type to find a serializer for

Returns:kotlinx.serialization.KSerializer<Object>

a resolved serializer for the given type

Exceptions
RuntimeException:
if no serializer supporting the given type can be found
toJsonback to summary
protected void toJson(Object payload, Type resolvedType, Writer writer)

Implements abstract org.springframework.messaging.converter.AbstractJsonMessageConverter.toJson.

Annotations
@Override
toJsonback to summary
protected String toJson(Object payload, Type resolvedType)

Implements abstract org.springframework.messaging.converter.AbstractJsonMessageConverter.toJson.

Annotations
@Override