Class KotlinSerializationJsonEncoder

java.lang.Object
org.springframework.http.codec.KotlinSerializationSupport<kotlinx.serialization.json.Json>
org.springframework.http.codec.KotlinSerializationStringEncoder<kotlinx.serialization.json.Json>
org.springframework.http.codec.json.KotlinSerializationJsonEncoder
All Implemented Interfaces:
Encoder<Object>

public class KotlinSerializationJsonEncoder extends KotlinSerializationStringEncoder<kotlinx.serialization.json.Json>
Encode from an Object stream to a byte stream of JSON objects using kotlinx.serialization. It supports application/json, application/x-ndjson and application/*+json with various character sets, UTF-8 being the default.

As of Spring Framework 7.0, by default it only encodes types annotated with @Serializable at type or generics level.

Alternative constructors with a Predicate<ResolvableType> parameter can be used to customize this behavior. For example, new KotlinSerializationJsonEncoder(type -> true) will encode all types supported by Kotlin Serialization, including unannotated Kotlin enumerations, numbers, characters, booleans and strings.

Since:
5.3
Author:
Sebastien Deleuze, Iain Henderson
See Also:
  • Constructor Details

    • KotlinSerializationJsonEncoder

      public KotlinSerializationJsonEncoder()
      Construct a new encoder using Json.Default instance which only encodes types annotated with @Serializable at type or generics level.
    • KotlinSerializationJsonEncoder

      public KotlinSerializationJsonEncoder(Predicate<ResolvableType> typePredicate)
      Construct a new encoder using Json.Default instance which only encodes types for which the specified predicate returns true.
      Since:
      7.0
    • KotlinSerializationJsonEncoder

      public KotlinSerializationJsonEncoder(kotlinx.serialization.json.Json json)
      Construct a new encoder using the provided Json instance which only encodes types annotated with @Serializable at type or generics level.
    • KotlinSerializationJsonEncoder

      public KotlinSerializationJsonEncoder(kotlinx.serialization.json.Json json, Predicate<ResolvableType> typePredicate)
      Construct a new encoder using the provided Json instance which only encodes types for which the specified predicate returns true.
      Since:
      7.0
  • Method Details