クラス DataFetcherExceptionResolverAdapter

java.lang.ObjectSE
org.springframework.graphql.execution.DataFetcherExceptionResolverAdapter
実装済みのインターフェース一覧:
DataFetcherExceptionResolver
既知の直属サブクラス
SecurityDataFetcherExceptionResolver

public abstract class DataFetcherExceptionResolverAdapter extends ObjectSE implements DataFetcherExceptionResolver
非同期契約を事前実装し、次の同期保護メソッドを公開する DataFetcherExceptionResolver のアダプター:

アプリケーションは、resolveToSingleError(Throwable, DataFetchingEnvironment) のショートカットとして DataFetcherExceptionResolver.forSingleError(BiFunction) を使用することもできます。

実装は、setThreadLocalContextAware(boolean) を介して、基になるトランスポートスレッドから ThreadLocal コンテキストの伝播に関心を示すこともできます。

導入:
1.0.0
作成者:
Rossen Stoyanchev
  • フィールド概要

    フィールド
    修飾子と型
    フィールド
    説明
    protected final org.apache.commons.logging.Log
  • コンストラクター概要

    コンストラクター
    修飾子
    コンストラクター
    説明
    protected
    このクラスは、実際の例外解決ロジックを提供するために拡張されることを意図しているため、protected コンストラクター。
  • 方法の概要

    修飾子と型
    メソッド
    説明
    boolean
    このリゾルバーの ThreadLocal コンテキストを復元する必要があるかどうか。
    final reactor.core.publisher.Mono<ListSE<graphql.GraphQLError>>
    resolveException(ThrowableSE ex, graphql.schema.DataFetchingEnvironment env)
    指定された例外を解決し、エラーを返してレスポンスに追加します。
    protected @Nullable ListSE<graphql.GraphQLError>
    resolveToMultipleErrors(ThrowableSE ex, graphql.schema.DataFetchingEnvironment env)
    このメソッドをオーバーライドして、例外を複数の GraphQL エラーに解決します。
    protected @Nullable graphql.GraphQLError
    resolveToSingleError(ThrowableSE ex, graphql.schema.DataFetchingEnvironment env)
    このメソッドをオーバーライドして、例外を単一の GraphQL エラーに解決します。
    void
    setThreadLocalContextAware(boolean threadLocalContextAware)
    サブクラスはこれを設定して、トランスポートハンドラーからの ThreadLocal コンテキストを示すことができます (例:

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

      protected final org.apache.commons.logging.Log logger
  • コンストラクターの詳細

    • DataFetcherExceptionResolverAdapter

      protected DataFetcherExceptionResolverAdapter()
      このクラスは、実際の例外解決ロジックを提供するために拡張されることを意図しているため、protected コンストラクター。
  • メソッドの詳細

    • setThreadLocalContextAware

      public void setThreadLocalContextAware(boolean threadLocalContextAware)
      サブクラスはこれを設定して、例外を解決するときにトランスポートハンドラー (HTTP ハンドラーなど) からの ThreadLocal コンテキストを復元する必要があることを示すことができます。

      注意 : このプロパティは、トランスポートが ThreadLocal のもの (例: Spring MVC) を使用し、対象の ThreadLocal 値を抽出するために ThreadLocalAccessor が登録されている場合にのみ適用されます。それ以外の場合、このプロパティを設定しても影響はありません。

      デフォルトでは、これは "false" に設定されています。この場合、ThreadLocal コンテキストの伝播は試行されません。

      パラメーター:
      threadLocalContextAware - このリゾルバーが ThreadLocal コンテキストにアクセスする必要があるかどうか。
    • isThreadLocalContextAware

      public boolean isThreadLocalContextAware()
      このリゾルバーの ThreadLocal コンテキストを復元する必要があるかどうか。
    • resolveException

      public final reactor.core.publisher.Mono<ListSE<graphql.GraphQLError>> resolveException(ThrowableSE ex, graphql.schema.DataFetchingEnvironment env)
      インターフェースからコピーされた説明: DataFetcherExceptionResolver
      指定された例外を解決し、エラーを返してレスポンスに追加します。

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

      次で指定:
      インターフェース DataFetcherExceptionResolverresolveException 
      パラメーター:
      ex - 解決する例外
      env - 呼び出された DataFetcher の環境
      戻り値:
      GraphQL レスポンスに追加するエラーのある MonoMono が空のリストで完了した場合、レスポンスにエラーが追加されることなく例外が解決されます。Mono がリストを発行せずに空で完了すると、例外は未解決のままになり、他のリゾルバーがそれを解決できるようになります。
    • resolveToMultipleErrors

      protected @Nullable ListSE<graphql.GraphQLError> resolveToMultipleErrors(ThrowableSE ex, graphql.schema.DataFetchingEnvironment env)
      このメソッドをオーバーライドして、例外を複数の GraphQL エラーに解決します。
      パラメーター:
      ex - 解決する例外
      env - 呼び出された DataFetcher の環境
      戻り値:
      解決されたエラーまたは未解決の場合は null 
    • resolveToSingleError

      protected @Nullable graphql.GraphQLError resolveToSingleError(ThrowableSE ex, graphql.schema.DataFetchingEnvironment env)
      このメソッドをオーバーライドして、例外を単一の GraphQL エラーに解決します。
      パラメーター:
      ex - 解決する例外
      env - 呼び出された DataFetcher の環境
      戻り値:
      解決されたエラー、または未解決の場合は null