Spring Bootのグローバルな例外処理はどのように実装しますか?

Spring Bootのグローバル例外処理を実装するには、以下の手順に従って操作することができます。

  1. カスタム例外処理クラスを作成し、HandlerExceptionResolverインターフェースを実装するか、ResponseEntityExceptionHandlerクラスを継承します。このクラスはすべての例外状況を処理します。
  2. 自作の例外処理クラスでresolveExceptionメソッドをオーバーライドし、異なる例外タイプに応じて処理を行い、エラーメッセージまたはカスタムエラー応答を返します。
  3. @ControllerAdviceアノテーションを使用して、グローバル例外ハンドラクラスを作成し、@ExceptionHandlerアノテーションを使用して例外を一括処理します。
  4. 全体的な例外処理ハンドラクラスには、適切な方法で例外情報をフロントエンドに返す例外処理メソッドを記述してください。
  5. Spring Bootの設定クラスに@EnableWebMvcアノテーションを追加して、Spring Bootのグローバル例外処理機能を有効にする。

例としてのコードは以下の通りです。

@ControllerAdvice
@EnableWebMvc
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ResponseEntity<ErrorResponse> handleException(Exception ex) {
        // 处理异常并返回自定义的错误响应
        ErrorResponse errorResponse = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), "Internal Server Error");
        return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
    }
}
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

したがって、異常が発生した場合、対応する例外処理メソッドを自動的に呼び出し、カスタムエラーレスポンスを返します。

全局例外処理クラスでは、異なる種類の例外に対応するために必要に応じて複数の@ExceptionHandlerメソッドを作成し、異なるエラーレスポンスを返すことができる点に注意する必要があります。

bannerAds