クラス GraphQlArgumentBinder

java.lang.ObjectSE
org.springframework.graphql.data.GraphQlArgumentBinder

public class GraphQlArgumentBinder extends ObjectSE
GraphQL arguments 入力マップの完全な構造を反映するためにターゲットオブジェクトをインスタンス化して設定するバインダー。

入力マップは再帰的にナビゲートされ、ターゲット型の完全な構造が作成されます。ターゲット型のオブジェクトは、プライマリデータコンストラクター (引数が名前によってコンストラクターパラメーターと一致する場合) または既定のコンストラクター (引数がプロパティと一致する場合) を介して作成されます。スカラー値は、必要に応じて ConversionService を介して変換されます。

バインダーは最初のエラーで停止するのではなく、BindingResult にできるだけ多くのエラーを蓄積します。最後に、記録されたすべてのエラーと、各エラーが発生したパスを含む BindException を発生させます。

バインダーは、ターゲットオブジェクト構造内の任意のオブジェクトまたはスカラー値のラッパーとして OptionalSE をサポートします。さらに、指定された入力引数が "null" リテラルに設定されているためはなく、省略されているかどうかを示すラッパーとして ArgumentValue もサポートしています。

導入:
1.0.0
作成者:
Brian Clozel, Rossen Stoyanchev
  • コンストラクターの詳細

    • GraphQlArgumentBinder

      public GraphQlArgumentBinder()
      デフォルトコンストラクター。
    • GraphQlArgumentBinder

      @DeprecatedSE(since="2.0", forRemoval=true) public GraphQlArgumentBinder(@Nullable ConversionService conversionService)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      直接フィールドアクセスのサポート用の追加フラグを持つコンストラクター。
      パラメーター:
      conversionService - 使用するサービス
    • GraphQlArgumentBinder

      @DeprecatedSE(since="2.0", forRemoval=true) public GraphQlArgumentBinder(@Nullable ConversionService service, boolean fallBackOnDirectFieldAccess)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      直接フィールドアクセスのサポート用の追加フラグを持つコンストラクター。
      パラメーター:
      service - 使用するサービス
      fallBackOnDirectFieldAccess - 直接フィールドアクセスに頼るかどうか
    • GraphQlArgumentBinder

      public GraphQlArgumentBinder(GraphQlArgumentBinder.Options options)
  • メソッドの詳細

    • bind

      public @Nullable ObjectSE bind(graphql.schema.DataFetchingEnvironment environment, @Nullable StringSE name, ResolvableType targetType) throws BindException
      単一の GraphQL 引数から、または完全な GraphQL 引数マップから、指定されたターゲット型のオブジェクトを作成して設定します。
      パラメーター:
      environment - 引数へのアクセス
      name - 引数の名前、または完全なマップを使用する null 
      targetType - 作成するオブジェクトの型
      戻り値:
      作成されたオブジェクト。おそらく OptionalSE または ArgumentValue でラップされるか、値がない場合は null 
      例外:
      BindException - ターゲットオブジェクトへの引数の照合および / または変換による 1 つ以上の累積エラーを含む
    • bind

      public @Nullable ObjectSE bind(@Nullable ObjectSE rawValue, boolean isOmitted, ResolvableType targetType) throws BindException
      バインド元となる事前に抽出された生の値を持つ bind(DataFetchingEnvironment, String, ResolvableType) のバリアント。
      パラメーター:
      rawValue - 生の引数値 (コレクション、マップ、スカラー)
      isOmitted - 引数が入力から省略された場合は true、引数が指定された場合は false ですが、null の可能性もあります。
      targetType - 作成するオブジェクトの型
      例外:
      BindException
      導入:
      1.3.0