1. @RestControllerAdvice
@RestControllerAdvice
@Slf4j
@RequiredArgsConstructor
public class ExceptionControllerAdvice {
private final ResultUtils resultUtils;
private final ObjectMapper objectMapper;
/**
* 兜底异常捕获
* */
@ExceptionHandler(Exception.class)
public ResultVO<Object> handlerException(Exception ex) {
ex.printStackTrace();
ResultVO<Object> objectResultVO = resultUtils.resultError(ResultEnumsError.ERROR);
return objectResultVO;
}
2. 将所有的错误默认映射到/error, 实现ErrorController
@Controller
@RequestMapping(value = "error")
public class BaseErrorController implements ErrorController {
private static final Logger logger = LoggerFactory.getLogger(BaseErrorController.class);
@Override
public String getErrorPath() {
logger.info("出错啦!进入自定义错误控制器");
return "comm/error";
}
@RequestMapping
public String error() {
return getErrorPath();
}
}