クラス AbstractJacksonDecoder<T extends tools.jackson.databind.ObjectMapper>

java.lang.ObjectSE
org.springframework.http.codec.JacksonCodecSupport<T>
org.springframework.http.codec.AbstractJacksonDecoder<T>
型パラメーター:
T - ObjectMapper の型
実装されているすべてのインターフェース:
Decoder<ObjectSE>, HttpMessageDecoder<ObjectSE>
既知の直属サブクラス
JacksonCborDecoder, JacksonJsonDecoder, JacksonSmileDecoder, JacksonXmlDecoder

public abstract class AbstractJacksonDecoder<T extends tools.jackson.databind.ObjectMapper> extends JacksonCodecSupport<T> implements HttpMessageDecoder<ObjectSE>
ノンブロッキング解析を活用する Jackson 3.x デコードの抽象基本クラス。
導入:
7.0
作成者:
Sebastien Deleuze
  • コンストラクターの詳細

    • AbstractJacksonDecoder

      protected AbstractJacksonDecoder(tools.jackson.databind.cfg.MapperBuilder<T,?> builder, MimeType... mimeTypes)
      MapperBuilder.findModules(ClassLoader) と MimeType によって見つかった JacksonModule でカスタマイズされた、提供された builder を使用して新しいインスタンスを構築します。
    • AbstractJacksonDecoder

      protected AbstractJacksonDecoder(T mapper, MimeType... mimeTypes)
      提供された ObjectMapper および MimeType を使用して新しいインスタンスを構築します。
  • メソッドの詳細

    • setMaxInMemorySize

      public void setMaxInMemorySize(int byteCount)
      このデコーダーでバッファーできる最大バイト数を設定します。これは、全体としてデコードするときの入力全体のサイズ、または JSON ストリーム内の 1 つのトップレベル JSON オブジェクトのサイズのいずれかです。制限を超えると、DataBufferLimitException が発生します。

      デフォルトでは、これは 256K に設定されています。

      パラメーター:
      byteCount - バッファリングする最大バイト数、または無制限の場合は -1
    • getMaxInMemorySize

      public int getMaxInMemorySize()
      configured バイトカウント制限を返します。
    • canDecode

      public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType)
      インターフェースからコピーされた説明: Decoder
      デコーダーが特定のターゲット要素型とソースストリームの MIME 型をサポートするかどうか。
      次で指定:
      インターフェース Decoder<T extends tools.jackson.databind.ObjectMapper>canDecode 
      パラメーター:
      elementType - 出力ストリームのターゲット要素型
      mimeType - デコードするストリームに関連付けられた MIME 型 (指定しない場合は null にすることができます)
      戻り値:
      サポートされている場合は true、サポートされていない場合は false 
    • decode

      public Flux<ObjectSE> decode(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: Decoder
      DataBuffer 入力ストリームを T の Flux にデコードします。
      次で指定:
      インターフェース Decoder<T extends tools.jackson.databind.ObjectMapper>decode 
      パラメーター:
      input - デコードする DataBuffer 入力ストリーム
      elementType - 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(ResolvableType, MimeType) メソッドに渡されている必要があり、true を返している必要があります。
      mimeType - 入力ストリームに関連付けられた MIME 型 (オプション)
      hints - デコード方法に関する追加情報
      戻り値:
      デコードされた要素を含む出力ストリーム
    • processInput

      protected Flux<DataBuffer> processInput(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
      入力パブリッシャーを flux に処理します。デフォルトの実装では Flux.from(Publisher) が返されますが、サブクラスではこの動作をカスタマイズできます。
      パラメーター:
      input - 処理する DataBuffer 入力ストリーム
      elementType - 出力ストリームで予期される要素の型
      mimeType - 入力ストリームに関連付けられた MIME 型 (オプション)
      hints - エンコード方法に関する追加情報
      戻り値:
      処理された flux
    • decodeToMono

      public Mono<ObjectSE> decodeToMono(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: Decoder
      DataBuffer 入力ストリームを T の Mono にデコードします。
      次で指定:
      インターフェース Decoder<T extends tools.jackson.databind.ObjectMapper>decodeToMono 
      パラメーター:
      input - デコードする DataBuffer 入力ストリーム
      elementType - 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(ResolvableType, MimeType) メソッドに渡されている必要があり、true を返している必要があります。
      mimeType - 入力ストリームに関連付けられた MIME 型 (オプション)
      hints - デコード方法に関する追加情報
      戻り値:
      デコードされた要素を持つ出力ストリーム
    • decode

      public ObjectSE decode(DataBuffer dataBuffer, ResolvableType targetType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints) throws DecodingException
      インターフェースからコピーされた説明: Decoder
      データバッファーを型 T のオブジェクトにデコードします。これは、個別のメッセージ(またはイベント)が完全に集約された形式で個別にデコードおよび処理されるシナリオで役立ちます。
      次で指定:
      インターフェース Decoder<T extends tools.jackson.databind.ObjectMapper>decode 
      パラメーター:
      dataBuffer - デコードする DataBuffer 
      targetType - 予想される出力型
      mimeType - データに関連付けられた MIME 型
      hints - デコード方法に関する追加情報
      戻り値:
      デコードされた値、おそらく null
      例外:
      DecodingException
    • customizeReader

      protected tools.jackson.databind.ObjectReader customizeReader(tools.jackson.databind.ObjectReader reader, ResolvableType elementType, @Nullable MapSE<StringSE,ObjectSE> hints)
      サブクラスはこのメソッドを使用して、値の読み取りに使用される ObjectReader をカスタマイズできます。
      パラメーター:
      reader - カスタマイズするリーダーインスタンス
      elementType - 読み取る対象の要素値の型
      hints - 直列化のヒントを含むマップ。Reactor コンテキストは、利用可能な場合、キー ContextView.class.getName() でアクセスできます。
      戻り値:
      使用するカスタマイズされた ObjectReader 
    • getDecodeHints

      public MapSE<StringSE,ObjectSE> getDecodeHints(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response)
      インターフェースからコピーされた説明: HttpMessageDecoder
      サーバーリクエストまたはターゲットコントローラーメソッドパラメーターのアノテーションに基づいてデコードヒントを取得します。
      次で指定:
      インターフェース HttpMessageDecoder<T extends tools.jackson.databind.ObjectMapper>getDecodeHints 
      パラメーター:
      actualType - デコード先の実際のターゲット型、場合によってはリアクティブラッパーであり、MethodParameter から供給されます。つまり、メソッドパラメーターアノテーションへのアクセスを提供します
      elementType - デコードしようとしている Flux/Mono 内の要素型
      request - 現在のリクエスト
      response - 現在のレスポンス
      戻り値:
      ヒントがあるマップ、空の場合もある
    • getDecodableMimeTypes

      public ListSE<MimeType> getDecodableMimeTypes()
      インターフェースからコピーされた説明: Decoder
      このデコーダーでサポートされている MIME 型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、canDecode(elementType, null) を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、Decoder.getDecodableMimeTypes(ResolvableType) を使用してより正確なリストを作成します。
      次で指定:
      インターフェース Decoder<T extends tools.jackson.databind.ObjectMapper>getDecodableMimeTypes 
      戻り値:
      サポートされている MIME 型のリスト
    • getDecodableMimeTypes

      public ListSE<MimeType> getDecodableMimeTypes(ResolvableType targetType)
      インターフェースからコピーされた説明: Decoder
      指定された型の要素について、このデコーダーでサポートされている MIME 型のリストを返します。このリストは、デコーダーが特定の要素型をサポートしていない場合、または MIME 型のサブセットに対してのみサポートしている場合、Decoder.getDecodableMimeTypes() とは異なる場合があります。
      次で指定:
      インターフェース Decoder<T extends tools.jackson.databind.ObjectMapper>getDecodableMimeTypes 
      パラメーター:
      targetType - デコードをチェックする要素の型
      戻り値:
      特定のターゲット型でサポートされている MIME 型のリスト
    • getAnnotation

      protected <A extends AnnotationSE> @Nullable A getAnnotation(MethodParameter parameter, ClassSE<A> annotType)
      次で指定:
      クラス JacksonCodecSupport<T extends tools.jackson.databind.ObjectMapper>getAnnotation