全局異常 globalexception 處理
一般在做api開發時我們希望將所有業務層拋到controller異常都集中處理一下。比如對異常差異化報警、轉發不同頁面、封裝不同http狀態碼、集中存儲打印。。。
一、實現方式
- 封裝類注解 @ControllerAdvice
- 在實現方法上 @ExceptionHandler(Throwable.class),處理所有Throwable及其子類的異常
- 我們處理所有controller拋出的異常再加一個@ResponseBody 通過適當的HttpMessageConverter轉換為指定格式后,寫入到Response對象的body數據區。返回的數據不是html標簽的頁面,而是其他某種格式的數據時(如json、xml等)
ghttps://github.com/Baker-abc/baker-learning-springboot/tree/master/learn-globalexception