クラス GraphQlArgumentBinder
java.lang.ObjectSE
org.springframework.graphql.data.GraphQlArgumentBinder
GraphQL arguments 入力マップの完全な構造を反映するためにターゲットオブジェクトをインスタンス化して設定するバインダー。 入力マップは再帰的にナビゲートされ、ターゲット型の完全な構造が作成されます。ターゲット型のオブジェクトは、プライマリデータコンストラクター (引数が名前によってコンストラクターパラメーターと一致する場合) または既定のコンストラクター (引数がプロパティと一致する場合) を介して作成されます。スカラー値は、必要に応じて ConversionService を介して変換されます。
バインダーは最初のエラーで停止するのではなく、BindingResult にできるだけ多くのエラーを蓄積します。最後に、記録されたすべてのエラーと、各エラーが発生したパスを含む BindException を発生させます。
バインダーは、ターゲットオブジェクト構造内の任意のオブジェクトまたはスカラー値のラッパーとして OptionalSE をサポートします。さらに、指定された入力引数が "null" リテラルに設定されているためはなく、省略されているかどうかを示すラッパーとして ArgumentValue もサポートしています。
- 導入:
- 1.0.0
- 作成者:
- Brian Clozel, Rossen Stoyanchev
ネストされたクラスの概要
ネストされたクラス修飾子と型クラス説明static interfaceGraphQL 引数名とオブジェクトプロパティのマッピングをカスタマイズするための契約。static final classGraphQlArgumentBinderの構成設定のコンテナー。コンストラクター概要
コンストラクターコンストラクター説明デフォルトコンストラクター。GraphQlArgumentBinder(@Nullable ConversionService conversionService) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。GraphQlArgumentBinder(@Nullable ConversionService service, boolean fallBackOnDirectFieldAccess) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。方法の概要
修飾子と型メソッド説明@Nullable ObjectSEbind(graphql.schema.DataFetchingEnvironment environment, @Nullable StringSE name, ResolvableType targetType) 単一の GraphQL 引数から、または完全な GraphQL 引数マップから、指定されたターゲット型のオブジェクトを作成して設定します。@Nullable ObjectSEbind(@Nullable ObjectSE rawValue, boolean isOmitted, ResolvableType targetType) バインド元となる事前に抽出された生の値を持つbind(DataFetchingEnvironment, String, ResolvableType)のバリアント。
コンストラクターの詳細
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
メソッドの詳細
bind
public @Nullable ObjectSE bind(graphql.schema.DataFetchingEnvironment environment, @Nullable StringSE name, ResolvableType targetType) throws BindException 単一の GraphQL 引数から、または完全な GraphQL 引数マップから、指定されたターゲット型のオブジェクトを作成して設定します。- パラメーター:
environment- 引数へのアクセスname- 引数の名前、または完全なマップを使用するnulltargetType- 作成するオブジェクトの型- 戻り値:
- 作成されたオブジェクト。おそらく
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
GraphQlArgumentBinder(Options)を推奨