一、了解@RestControllerAdvice这个注解
1.@RestControllerAdvice是一个组合注解,由@ControllerAdvice和@ResponseBody注解的组合,主要作用就是捕获系统出现的未处理的异常;
二、用途
1.@RestControllerAdvice注解用于创建全局异常处理类,用于捕获和处理整个应用程序中的异常。它适用于RESTful风格的应用程序,因为它自动将异常处理方法的返回值转换为HTTP响应的主体。
2.只需要在对应的类上加载注解@RestControllerAdvice,内部包含@ExceptionHandler这个注解方法,来处理遇到不同的异常;
@RestControllerAdvice
public class ExceptionHandlerController {
//@ExceptionHandler内部方法是每一个异常的类如:NumberFormatException.class
@ExceptionHandler
public ResultJson error(Exception e) {
e.printStackTrace();
log.error("其它未知异常", e);
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String requestURI = request.getRequestURI();
log.info("--------requestURI:{}", requestURI);
return new ResultJson(StatusCode.ERROR,"系统出错,请联系管理员");
}
}