インターフェース DataFetcherExceptionResolver
- 既知のすべてのサブインターフェース:
HandlerDataFetcherExceptionResolver
- すべての既知の実装クラス:
DataFetcherExceptionResolverAdapter、ReactiveSecurityDataFetcherExceptionResolver、SecurityDataFetcherExceptionResolver
public interface DataFetcherExceptionResolver
DataFetcher からの例外を解決するための契約です。解決は通常、Spring Bean として宣言され、(空の場合もある) GraphQLError リストを発行することで例外が解決されるまで、順番に呼び出されます。リゾルバーのリストから DataFetcherExceptionHandler を作成するには、静的ファクトリメソッド createExceptionHandler(java.util.List<org.springframework.graphql.execution.DataFetcherExceptionResolver>) を使用します。 リゾルバー実装は DataFetcherExceptionResolverAdapter を継承し、例外を同期的に解決する resolveToSingleError または resolveToMultipleErrors メソッドの 1 つをオーバーライドできます。
リゾルバーの実装では、ErrorType を使用して、いくつかの一般的なカテゴリの 1 つを使用してエラーを分類できます。
- 導入:
- 1.0.0
- 作成者:
- Rossen Stoyanchev
- 関連事項:
方法の概要
修飾子と型メソッド説明static graphql.execution.DataFetcherExceptionHandlercreateExceptionHandler(ListSE<DataFetcherExceptionResolver> resolvers) DataFetcherExceptionResolverのリストからDataFetcherExceptionHandlerを作成するファクトリメソッド。forSingleError(BiFunctionSE<ThrowableSE, graphql.schema.DataFetchingEnvironment, graphql.GraphQLError> resolver) 例外を単一の GraphQL エラーに解決するためにDataFetcherExceptionResolverを作成するファクトリメソッド。reactor.core.publisher.Mono<ListSE<graphql.GraphQLError>> resolveException(ThrowableSE exception, graphql.schema.DataFetchingEnvironment environment) 指定された例外を解決し、エラーを返してレスポンスに追加します。
メソッドの詳細
resolveException
reactor.core.publisher.Mono<ListSE<graphql.GraphQLError>> resolveException(ThrowableSE exception, graphql.schema.DataFetchingEnvironment environment) 指定された例外を解決し、エラーを返してレスポンスに追加します。実装では、
GraphqlErrorBuilder.newError(DataFetchingEnvironment)を使用してターゲットフィールドの座標でエラーを作成し、ErrorTypeを使用してエラーのカテゴリを指定できます。- パラメーター:
exception- 解決する例外environment- 呼び出されたDataFetcherの環境- 戻り値:
- GraphQL レスポンスに追加するエラーのある
Mono。Monoが空のリストで完了した場合、レスポンスにエラーが追加されることなく例外が解決されます。Monoがリストを発行せずに空で完了すると、例外は未解決のままになり、他のリゾルバーがそれを解決できるようになります。
forSingleError
static DataFetcherExceptionResolverAdapter forSingleError(BiFunctionSE<ThrowableSE, graphql.schema.DataFetchingEnvironment, graphql.GraphQLError> resolver) 例外を単一の GraphQL エラーに解決するためにDataFetcherExceptionResolverを作成するファクトリメソッド。事実上、DataFetcherExceptionResolverAdapterを作成し、そのresolveToSingleErrorメソッドをオーバーライドするためのショートカットです。- パラメーター:
resolver- 使用するリゾルバー関数- 戻り値:
- 作成されたインスタンス
- 導入:
- 1.0.1
createExceptionHandler
static graphql.execution.DataFetcherExceptionHandler createExceptionHandler(ListSE<DataFetcherExceptionResolver> resolvers) DataFetcherExceptionResolverのリストからDataFetcherExceptionHandlerを作成するファクトリメソッドです。これはAbstractGraphQlSourceBuilder内部でGraphQL.Builderの例外ハンドラーを設定するために使用され、GraphQL.BuilderはExecutionStrategyの作成に使用されます。アプリケーションは、カスタムExecutionStrategyを初期化する必要がある場合に、このメソッドを使用して例外ハンドラーを作成することもできます。(空の可能性がある)
GraphQLErrorリストを発行して例外を解決するまで、リゾルバーが順番に呼び出されます。例外が未解決のままである場合、ハンドラーはErrorType.INTERNAL_ERRORでGraphQLErrorを作成し、実行 ID で短いメッセージを作成します。- パラメーター:
resolvers- 使用するリゾルバーのリスト- 戻り値:
- 作成された
DataFetcherExceptionHandlerインスタンス - 導入:
- 1.1.1