天天看點

SpringBoot統一異常處理BasicErrorController定義全局異常處理類:并用@ControllerAdvice注解自定義異常類,繼承Exception(或RuntimeException)頁面

BasicErrorController

SpringBoot内置了一個BasicErrorController對異常進行統一的處理,當在頁面發生異常的時候會自動把請求轉到/error(Spring Boot提供的一個預設的映射)

,可以自定義頁面内容,隻需在classpath路徑下建立error頁面即可。當然我們也可以自定義error頁面的路徑

如:

`server.error.path=/custom/error

BasicErrorController提供兩種傳回錯誤一種是頁面傳回、當你是頁面請求的時候就會傳回頁面,另外一種是json請求的時候就會傳回json錯誤

可以檢視源碼。

定義全局異常處理類:并用@ControllerAdvice注解

  • 傳回視圖,建立方法defaultErrorHandler 用@ExceptionHandler注解
  • 傳回JSON,建立方法 用jsonErrorHandler 用@ExceptionHandler和@ResponseBody(必須)注解
    SpringBoot統一異常處理BasicErrorController定義全局異常處理類:并用@ControllerAdvice注解自定義異常類,繼承Exception(或RuntimeException)頁面

自定義異常類,繼承Exception(或RuntimeException)

SpringBoot統一異常處理BasicErrorController定義全局異常處理類:并用@ControllerAdvice注解自定義異常類,繼承Exception(或RuntimeException)頁面

頁面

SpringBoot統一異常處理BasicErrorController定義全局異常處理類:并用@ControllerAdvice注解自定義異常類,繼承Exception(或RuntimeException)頁面