クラス AbstractJackson2Decoder

java.lang.ObjectSE
org.springframework.http.codec.json.Jackson2CodecSupport
org.springframework.http.codec.json.AbstractJackson2Decoder
実装されたすべてのインターフェース:
Decoder<ObjectSE>HttpMessageDecoder<ObjectSE>
既知の直属サブクラス
Jackson2CborDecoderJackson2JsonDecoderJackson2SmileDecoder

public abstract class AbstractJackson2Decoder extends Jackson2CodecSupport implements HttpMessageDecoder<ObjectSE>
ノンブロッキング解析を活用する Jackson 2.x デコードの抽象基本クラス。
導入:
5.0
作成者:
Sebastien Deleuze, Rossen Stoyanchev, Arjen Poutsma
関連事項:
  • コンストラクターの詳細

    • AbstractJackson2Decoder

      protected AbstractJackson2Decoder(ObjectMapper mapper, MimeType... mimeTypes)
      使用する Jackson ObjectMapper を持つコンストラクター。
  • メソッドの詳細

    • setMaxInMemorySize

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

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

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

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

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

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

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

      public reactor.core.publisher.Mono<ObjectSE> decodeToMono(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: Decoder
      DataBuffer 入力ストリームを T の Mono にデコードします。
      次で指定:
      インターフェース Decoder<ObjectSE>decodeToMono 
      パラメーター:
      input - デコードする DataBuffer 入力ストリーム
      elementType - 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.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<ObjectSE>decode 
      パラメーター:
      dataBuffer - デコードする DataBuffer 
      targetType - 予想される出力型
      mimeType - データに関連付けられた MIME 型
      hints - デコード方法に関する追加情報
      戻り値:
      デコードされた値、おそらく null
      例外:
      DecodingException
    • customizeReader

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

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

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

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

      @Nullable protected <A extends AnnotationSE> A getAnnotation(MethodParameter parameter, ClassSE<A> annotType)
      次で指定:
      クラス Jackson2CodecSupportgetAnnotation