spring boot全域性捕獲異常
阿新 • • 發佈:2020-12-23
spring boot全域性捕獲異常
製作人:全心全意
@ExceptionHandler:標識攔截異常
@ControllerAdvice:Controller的一個輔助類,最常用的就是作為全域性異常處理的切面類
@ControllerAdvice可以指定掃描範圍
@ControllerAdvice約定了幾種可行的返回值,如果是直接返回model類的話,需要使用@ResponseBody進行json轉換
返回String值,標識跳轉到view
返回modelAndView
返回model+@ResponseBody
捕獲異常類
package com.zq.main.controller; import java.util.HashMap; import java.util.Map; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; @ControllerAdvice //僅能捕獲系統程式碼出現的問題,例如500(404無法捕獲) public class ZqExceptionHandler { // 攔截系統的所有異常 @ExceptionHandler(RuntimeException.class) @ResponseBody public Map<String, String> exceptionHandler() { System.out.println(11111); HashMap<String, String> objectHashMap = new HashMap<>(); objectHashMap.put("respCode", "500"); objectHashMap.put("respMsg", "系統錯誤"); return objectHashMap; } }