异常处理时,通过使用@ControllerAdvice注解,可以轻松的拦截业务代码中的异常(包括自定义异常和运行时异常),常规代码如下
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = RoleNotSupportException.class)
@ResponseBody
public ResponseEntity<?> roleNotSupportHandler(HttpServletRequest req, Exception e) {
e.printStackTrace();
return new ResponseEntity<>(ResultBean.refused(),HttpStatus.FORBIDDEN) ;
}
@ExceptionHandler(value = BussinessException.class)
@ResponseBody
public ResponseEntity<?> bussinessHandler(HttpServletRequest req, Exception e) {
e.printStackTrace();
return new ResponseEntity<>(ResultBean.failed(e.getMessage()),HttpStatus.BAD_REQUEST) ;
}
@ExceptionHandler(value = Exception.class)
@ResponseBody
public ResponseEntity<?> exceptionHandler(HttpServletRequest req, Excepti