クラス DecoderHttpMessageReader<T>

java.lang.ObjectSE
org.springframework.http.codec.DecoderHttpMessageReader<T>
型パラメーター:
T - デコードされた出力ストリーム内のオブジェクトの型
実装されたすべてのインターフェース:
HttpMessageReader<T>
既知の直属サブクラス
ResourceHttpMessageReader

public class DecoderHttpMessageReader<T> extends ObjectSE implements HttpMessageReader<T>
ラップして Decoder に委譲する HttpMessageReader

また、リクエストやコントローラーメソッドのパラメーターアノテーションなど、サーバー側で利用可能な追加情報からデコードヒントを事前に解決する HttpMessageReader

導入:
5.0
作成者:
Arjen Poutsma, Sebastien Deleuze, Rossen Stoyanchev
  • コンストラクターの詳細

    • DecoderHttpMessageReader

      public DecoderHttpMessageReader(Decoder<T> decoder)
      指定された Decoder をラップするインスタンスを作成します。
  • メソッドの詳細

    • getDecoder

      public Decoder<T> getDecoder()
      このリーダーの Decoder を返します。
    • getReadableMediaTypes

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

      public ListSE<MediaType> getReadableMediaTypes(ResolvableType elementType)
      インターフェースからコピーされた説明: HttpMessageReader
      指定された型の要素について、このリーダーでサポートされているメディア型のリストを返します。リーダーが要素型をサポートしていない場合、またはメディア型のサブセットに対してのみサポートしている場合、このリストは HttpMessageReader.getReadableMediaTypes() とは異なる場合があります。
      次で指定:
      インターフェース HttpMessageReader<T>getReadableMediaTypes 
      パラメーター:
      elementType - 読み取る要素の型
      戻り値:
      特定のクラスでサポートされているメディア型のリスト
    • canRead

      public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType)
      インターフェースからコピーされた説明: HttpMessageReader
      指定されたオブジェクト型がこのリーダーでサポートされているかどうか。
      次で指定:
      インターフェース HttpMessageReader<T>canRead 
      パラメーター:
      elementType - チェックするオブジェクトの型
      mediaType - 読み取り用のメディア型 (おそらく null)
      戻り値:
      読み取り可能な場合は true、そうでない場合は false 
    • read

      public reactor.core.publisher.Flux<T> read(ResolvableType elementType, ReactiveHttpInputMessage message, MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: HttpMessageReader
      入力メッセージから読み取り、オブジェクトのストリームにデコードします。
      次で指定:
      インターフェース HttpMessageReader<T>read 
      パラメーター:
      elementType - HttpMessageReader.canRead(ResolvableType, MediaType) を介して事前にチェックされている必要があるストリーム内のオブジェクトの型
      message - 読み取るメッセージ
      hints - 入力の読み取りおよびデコード方法に関する追加情報
      戻り値:
      要素のデコードされたストリーム
    • readMono

      public reactor.core.publisher.Mono<T> readMono(ResolvableType elementType, ReactiveHttpInputMessage message, MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: HttpMessageReader
      入力メッセージから読み取り、単一のオブジェクトにデコードします。
      次で指定:
      インターフェース HttpMessageReader<T>readMono 
      パラメーター:
      elementType - HttpMessageReader.canRead(ResolvableType, MediaType) を介して事前にチェックされている必要があるストリーム内のオブジェクトの型
      message - 読み取るメッセージ
      hints - 入力の読み取りおよびデコード方法に関する追加情報
      戻り値:
      デコードされたオブジェクト
    • getContentType

      @Nullable protected MediaType getContentType(HttpMessage inputMessage)
      "Content-Type" ヘッダーに基づいて HTTP メッセージの Content-Type を決定するか、デフォルトで MediaType.APPLICATION_OCTET_STREAM に設定します。
      パラメーター:
      inputMessage - HTTP メッセージ
      戻り値:
      MediaType、場合によっては null
    • getReadHints

      protected MapSE<StringSE,ObjectSE> getReadHints(ResolvableType elementType, ReactiveHttpInputMessage message)
      入力 HTTP メッセージに基づいてデコードするための追加のヒントを取得します。
      導入:
      5.3
    • read

      public reactor.core.publisher.Flux<T> read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: HttpMessageReader
      追加のコンテキストが利用可能な、HttpMessageReader.read(ResolvableType, ReactiveHttpInputMessage, Map) のサーバー側のみの代替。
      次で指定:
      インターフェース HttpMessageReader<T>read 
      パラメーター:
      actualType - ターゲットメソッドパラメーターの実際の型。アノテーション付きコントローラーの場合、MethodParameter には ResolvableType.getSource() を介してアクセスできます。
      elementType - 出力ストリーム内のオブジェクトの型
      request - 現在のリクエスト
      response - 現在のレスポンス
      hints - 本文の読み方に関する追加情報
      戻り値:
      要素のデコードされたストリーム
    • readMono

      public reactor.core.publisher.Mono<T> readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: HttpMessageReader
      追加のコンテキストを使用できる、HttpMessageReader.readMono(ResolvableType, ReactiveHttpInputMessage, Map) のサーバー側のみの代替。
      次で指定:
      インターフェース HttpMessageReader<T>readMono 
      パラメーター:
      actualType - ターゲットメソッドパラメーターの実際の型。アノテーション付きコントローラーの場合、MethodParameter には ResolvableType.getSource() を介してアクセスできます。
      elementType - 出力ストリーム内のオブジェクトの型
      request - 現在のリクエスト
      response - 現在のレスポンス
      hints - 本文の読み方に関する追加情報
      戻り値:
      要素のデコードされたストリーム
    • getReadHints

      protected MapSE<StringSE,ObjectSE> getReadHints(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response)
      たとえばサーバーリクエストやコントローラーメソッドパラメーターからのアノテーションに基づいて、デコードに関する追加のヒントを取得します。デフォルトでは、HttpMessageDecoder のインスタンスである場合はデコーダーに委譲します。