クラス KotlinSerializationJsonDecoder
java.lang.ObjectSE
org.springframework.http.codec.KotlinSerializationSupport<kotlinx.serialization.json.Json>
org.springframework.http.codec.KotlinSerializationStringDecoder<kotlinx.serialization.json.Json>
org.springframework.http.codec.json.KotlinSerializationJsonDecoder
public class KotlinSerializationJsonDecoder
extends KotlinSerializationStringDecoder<kotlinx.serialization.json.Json>
バイトストリームを JSON にデコードし、kotlinx.serialization を使用してオブジェクトに変換します。さまざまな文字セットで
application/json と application/*+json をサポートしており、デフォルトは UTF-8 です。Spring Framework 7.0 では、競合なく JacksonJsonDecoder などの他の汎用 JSON デコーダーと組み合わせて使用できるため、デフォルトでは、型またはジェネリクスレベルで @Serializable でアノテーションが付けられた型のみをデコードします。
この動作をカスタマイズするには、Predicate<ResolvableType> パラメーターを持つ代替コンストラクターを使用できます。例: new KotlinSerializationJsonDecoder(type -> true) は、アノテーションなしの Kotlin 列挙、数値、文字、ブール値、文字列など、Kotlin 直列化でサポートされているすべての型をデコードします。
ストリームのデコードはまだサポートされていません。kotlinx.serialization/issues/1073 関連の課題を参照してください。
- 導入:
- 5.3
- 作成者:
- Sebastien Deleuze, Iain Henderson
- 関連事項:
フィールド概要
クラス KotlinSerializationStringDecoder から継承されたフィールド
stringDecoderコンストラクター概要
コンストラクターコンストラクター説明型またはジェネリクスレベルで@Serializableでアノテーションが付けられた型のみをデコードするJson.Defaultインスタンスを使用して新しいデコーダーを構築します。KotlinSerializationJsonDecoder(PredicateSE<ResolvableType> typePredicate) 指定された述語がtrueを返す型のみをデコードする、Json.Defaultインスタンスを使用して新しいデコーダーを構築します。KotlinSerializationJsonDecoder(kotlinx.serialization.json.Json json) 提供されたJsonインスタンスを使用して、型またはジェネリクスレベルで@Serializableでアノテーションが付けられた型のみをデコードする新しいデコーダーを構築します。KotlinSerializationJsonDecoder(kotlinx.serialization.json.Json json, PredicateSE<ResolvableType> typePredicate) 指定された述語がtrueを返す型のみをデコードする、提供されたJsonインスタンスを使用して新しいデコーダーを構築します。方法の概要
修飾子と型メソッド説明decode(Publisher<DataBuffer> inputStream, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) DataBuffer入力ストリームをTの Flux にデコードします。クラス KotlinSerializationStringDecoder から継承されたメソッド
canDecode, decodeToMono, getDecodableMimeTypes, getDecodableMimeTypes, getMaxInMemorySize, processException, setMaxInMemorySizeクラス KotlinSerializationSupport から継承されたメソッド
canSerialize, format, serializer, supportedMimeTypes
コンストラクターの詳細
KotlinSerializationJsonDecoder
public KotlinSerializationJsonDecoder()型またはジェネリクスレベルで@Serializableでアノテーションが付けられた型のみをデコードするJson.Defaultインスタンスを使用して新しいデコーダーを構築します。KotlinSerializationJsonDecoder
指定された述語がtrueを返す型のみをデコードする、Json.Defaultインスタンスを使用して新しいデコーダーを構築します。- 導入:
- 7.0
KotlinSerializationJsonDecoder
public KotlinSerializationJsonDecoder(kotlinx.serialization.json.Json json) 提供されたJsonインスタンスを使用して、型またはジェネリクスレベルで@Serializableでアノテーションが付けられた型のみをデコードする新しいデコーダーを構築します。KotlinSerializationJsonDecoder
public KotlinSerializationJsonDecoder(kotlinx.serialization.json.Json json, PredicateSE<ResolvableType> typePredicate) 指定された述語がtrueを返す型のみをデコードする、提供されたJsonインスタンスを使用して新しいデコーダーを構築します。- 導入:
- 7.0
方法の詳細
decode
public Flux<ObjectSE> decode(Publisher<DataBuffer> inputStream, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:DecoderDataBuffer入力ストリームをTの Flux にデコードします。- 次で指定:
- インターフェース
Decoder<ObjectSE>内のdecode - オーバーライド:
- クラス
KotlinSerializationStringDecoder<kotlinx.serialization.json.Json>のdecode - パラメーター:
inputStream- デコードするDataBuffer入力ストリームelementType- 出力ストリーム内の要素の予想される型。この型は、事前にDecoder.canDecode(ResolvableType, MimeType)メソッドに渡されている必要があり、trueを返している必要があります。mimeType- 入力ストリームに関連付けられた MIME 型 (オプション)hints- デコード方法に関する追加情報- 戻り値:
- デコードされた要素を含む出力ストリーム