SpringBoot2.0實戰(9)全局異常處理統一輸出格式


SpringBoot2.0實戰(9)全局異常處理統一輸出格式

課程目標

對 SpringBoot 項目中的所有異常進行響應,處理成統一的格式輸出。

操作步驟

添加依賴

添加 spring-boot-starter-web 的依賴

SpringBoot2.0實戰(9)全局異常處理統一輸出格式

編碼

構建統一輸出類,作為項目所有接口的輸出對象

SpringBoot2.0實戰(9)全局異常處理統一輸出格式

編寫異常處理器

  • 類上添加 @RestControllerAdvice 註解,是 @ResponseBody 與 @ControllerAdvice 的結合,其中 @ControllerAdvice 用於註冊異常處理器,而 @ResponseBody 用於標記該類中所有方法返回類型為 JSON。
  • 方法上添加 @ExceptionHandler 註解,用於標記該方法用於處理何種異常。
  • 該類中可以同時編寫多個方法,用於處理多種異常,Spring 會自行根據異常類型選擇執行相應的方法。
SpringBoot2.0實戰(9)全局異常處理統一輸出格式

編寫接口

SpringBoot2.0實戰(9)全局異常處理統一輸出格式

編寫項目啟動類

SpringBoot2.0實戰(9)全局異常處理統一輸出格式

驗證結果

編寫測試用例

SpringBoot2.0實戰(9)全局異常處理統一輸出格式

調用測試用例可以看到輸出

SpringBoot2.0實戰(9)全局異常處理統一輸出格式

源碼地址

本章源碼 : https://gitee.com/gongm_24/spring-boot-tutorial.git

總結

通過全局異常處理,可以保證系統在出現異常的情況下,出參結構是統一的,結合接口正常情況下的返回結構,就可以保證整個系統的出參結構一致,這種方式不管是跟前端交互還是跟其它系統交互,都很重要。


分享到:


相關文章: