クラス WebExchangeDataBinder

実装されたすべてのインターフェース:
PropertyEditorRegistryTypeConverter

public class WebExchangeDataBinder extends WebDataBinder
URL クエリパラメーターまたはリクエストデータ内のフォームデータから Java オブジェクトへのデータバインディングを実行するための特殊な DataBinder

警告 : データバインディングは、外部クライアントによるアクセスや変更を目的としていないオブジェクトグラフの部分を公開することにより、セキュリティの課題を引き起こす可能性があります。データバインディングの設計と使用は、セキュリティに関して慎重に検討する必要があります。詳細については、リファレンスマニュアルの Spring Web MVC および Spring WebFlux のデータバインディングに関する専用セクションを参照してください。

導入:
5.0
作成者:
Rossen Stoyanchev, Juergen Hoeller
  • コンストラクターの詳細

    • WebExchangeDataBinder

      public WebExchangeDataBinder(@Nullable ObjectSE target)
      デフォルトのオブジェクト名で新しいインスタンスを作成します。
      パラメーター:
      target - バインドするターゲットオブジェクト (または、バインダーが単なるパラメーター値の変換に使用される場合は null )
      関連事項:
    • WebExchangeDataBinder

      public WebExchangeDataBinder(@Nullable ObjectSE target, StringSE objectName)
      新しいインスタンスを作成します。
      パラメーター:
      target - バインドするターゲットオブジェクト (または、バインダーが単なるパラメーター値の変換に使用される場合は null )
      objectName - ターゲットオブジェクトの名前
  • メソッドの詳細

    • construct

      public reactor.core.publisher.Mono<VoidSE> construct(ServerWebExchange exchange)
      デフォルトまたは単一のデータコンストラクターを使用して、リクエストパラメーター、マルチパートファイル、またはパーツをコンストラクター引数にバインドすることでターゲットを作成します。

      呼び出し後、DataBinder.getBindingResult() を使用してバインドエラーをチェックします。何もない場合、ターゲットが設定され、setter を介してさらなる初期化のために bind(org.springframework.web.server.ServerWebExchange) を呼び出すことができます。

      パラメーター:
      exchange - バインドのリクエスト
      戻り値:
      ターゲットの作成時に完了する Mono<Void> 
      導入:
      6.1
    • shouldConstructArgument

      protected boolean shouldConstructArgument(MethodParameter param)
      クラスからコピーされた説明: DataBinder
      指定された型のコンストラクター引数をインスタンス化して、独自のコンストラクター引数をバインド値に照合するかどうか。

      デフォルトでは、単純な値型、マップ、コレクション、配列は、ネストされたコンストラクターバインディングの初期化から除外されます。

      オーバーライド:
      クラス DataBindershouldConstructArgument 
    • bind

      public reactor.core.publisher.Mono<VoidSE> bind(ServerWebExchange exchange)
      クエリパラメーター、フォームデータ、マルチパートフォームデータをバインダーターゲットにバインドします。
      パラメーター:
      exchange - 現在の交換
      戻り値:
      バインドが完了すると完了する Mono<Void> 
    • getValuesToBind

      public reactor.core.publisher.Mono<MapSE<StringSE,ObjectSE>> getValuesToBind(ServerWebExchange exchange)
      データバインディングの値を取得します。デフォルトでは、これは extractValuesToBind(ServerWebExchange) に委譲されます。
      パラメーター:
      exchange - 現在の交換
      戻り値:
      バインド値のマップ
      導入:
      5.3
    • extractValuesToBind

      public static reactor.core.publisher.Mono<MapSE<StringSE,ObjectSE>> extractValuesToBind(ServerWebExchange exchange)
      リクエストの本文からのマルチパートフォームデータのクエリパラメーターとフォームデータを組み合わせて、データバインディングの目的で使用する値の Map<String, Object> にします。
      パラメーター:
      exchange - 現在の交換
      戻り値:
      バインドする値を持つ Mono 
      関連事項:
    • addBindValue

      protected static void addBindValue(MapSE<StringSE,ObjectSE> params, StringSE key, ListSE<?> values)