インターフェース DataFetcherExceptionResolver

既知のすべてのサブインターフェース:
HandlerDataFetcherExceptionResolver
すべての既知の実装クラス:
DataFetcherExceptionResolverAdapterReactiveSecurityDataFetcherExceptionResolverSecurityDataFetcherExceptionResolver

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
関連事項:
  • メソッドの詳細

    • resolveException

      reactor.core.publisher.Mono<ListSE<graphql.GraphQLError>> resolveException(ThrowableSE exception, graphql.schema.DataFetchingEnvironment environment)
      指定された例外を解決し、エラーを返してレスポンスに追加します。

      実装では、GraphqlErrorBuilder.newError(DataFetchingEnvironment) を使用してターゲットフィールドの座標でエラーを作成し、ErrorType を使用してエラーのカテゴリを指定できます。

      パラメーター:
      exception - 解決する例外
      environment - 呼び出された DataFetcher の環境
      戻り値:
      GraphQL レスポンスに追加するエラーのある MonoMono が空のリストで完了した場合、レスポンスにエラーが追加されることなく例外が解決されます。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