クラス KotlinSerializationProtobufEncoder

java.lang.ObjectSE
org.springframework.http.codec.KotlinSerializationSupport<kotlinx.serialization.protobuf.ProtoBuf>
org.springframework.http.codec.KotlinSerializationBinaryEncoder<kotlinx.serialization.protobuf.ProtoBuf>
org.springframework.http.codec.protobuf.KotlinSerializationProtobufEncoder
実装されているすべてのインターフェース:
Encoder<ObjectSE>

public class KotlinSerializationProtobufEncoder extends KotlinSerializationBinaryEncoder<kotlinx.serialization.protobuf.ProtoBuf>
バイトストリームをプロトコルバッファーにデコードし、kotlinx.serialization を使用してオブジェクトに変換します。application/x-protobufapplication/octet-streamapplication/vnd.google.protobuf をサポートします。

Spring Framework 7.0 では、デフォルトでは、型またはジェネリクスレベルで @Serializable でアノテーションが付けられた型のみがエンコードされます。

この動作をカスタマイズするには、Predicate<ResolvableType> パラメーターを持つ代替コンストラクターを使用できます。例: new KotlinSerializationProtobufEncoder(type -> true) は、アノテーションなしの Kotlin 列挙、数値、文字、ブール値、文字列など、Kotlin 直列化でサポートされているすべての型をエンコードします。

ストリームのデコードはまだサポートされていません。kotlinx.serialization/issues/1073 関連の課題を参照してください。

導入:
6.0
作成者:
Iain Henderson, Sebastien Deleuze
関連事項:
  • コンストラクターの詳細

    • KotlinSerializationProtobufEncoder

      public KotlinSerializationProtobufEncoder()
      型またはジェネリクスレベルで @Serializable でアノテーションが付けられた型のみをエンコードする ProtoBuf.Default インスタンスを使用して新しいエンコーダーを構築します。
    • KotlinSerializationProtobufEncoder

      public KotlinSerializationProtobufEncoder(PredicateSE<ResolvableType> typePredicate)
      指定された述語が true を返す型のみをエンコードする ProtoBuf.Default インスタンスを使用して新しいエンコーダーを構築します。
      導入:
      7.0
    • KotlinSerializationProtobufEncoder

      public KotlinSerializationProtobufEncoder(kotlinx.serialization.protobuf.ProtoBuf protobuf)
      提供された ProtoBuf インスタンスを使用して、型またはジェネリクスレベルで @Serializable でアノテーションが付けられた型のみをエンコードする新しいエンコーダーを構築します。
    • KotlinSerializationProtobufEncoder

      public KotlinSerializationProtobufEncoder(kotlinx.serialization.protobuf.ProtoBuf protobuf, PredicateSE<ResolvableType> typePredicate)
      指定された述語が true を返す型のみをエンコードする、提供された ProtoBuf インスタンスを使用して新しいエンコーダーを構築します。
      導入:
      7.0