public class KotlinSerializationJsonEncoder extends AbstractEncoder<Object>
Object stream to a byte stream of JSON objects using
kotlinx.serialization.
This encoder 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 |
|---|
KotlinSerializationJsonEncoder() |
KotlinSerializationJsonEncoder(kotlinx.serialization.json.Json json) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canEncode(ResolvableType elementType,
MimeType mimeType)
Whether the encoder supports the given source element type and the MIME
type for the output stream.
|
reactor.core.publisher.Flux<DataBuffer> |
encode(Publisher<?> inputStream,
DataBufferFactory bufferFactory,
ResolvableType elementType,
MimeType mimeType,
Map<String,Object> hints)
Encode a stream of Objects of type
T into a DataBuffer
output stream. |
DataBuffer |
encodeValue(Object value,
DataBufferFactory bufferFactory,
ResolvableType valueType,
MimeType mimeType,
Map<String,Object> hints)
Encode an Object of type T to a data buffer.
|
getEncodableMimeTypes, getLogger, setLoggerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetEncodableMimeTypespublic KotlinSerializationJsonEncoder()
public KotlinSerializationJsonEncoder(kotlinx.serialization.json.Json json)
public boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType)
Encoderpublic reactor.core.publisher.Flux<DataBuffer> encode(Publisher<?> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
EncoderT into a DataBuffer
output stream.inputStream - the input stream of Objects to encode. If the input should be
encoded as a single value rather than as a stream of elements, an instance of
Mono should be used.bufferFactory - for creating output stream DataBuffer'selementType - the expected type of elements in the input stream;
this type must have been previously passed to the Encoder.canEncode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
method and it must have returned true.mimeType - the MIME type for the output content (optional)hints - additional information about how to encodepublic DataBuffer encodeValue(Object value, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
EncoderBy default this method raises UnsupportedOperationException
and it is expected that some encoders cannot produce a single buffer or
cannot do so synchronously (e.g. encoding a Resource).
value - the value to be encodedbufferFactory - for creating the output DataBuffervalueType - the type for the value being encodedmimeType - the MIME type for the output content (optional)hints - additional information about how to encode