针对http请求的方式,我们统一对异常处理,即返回各种异常对应的code和message信息,不返回多余的信息
统一处理异常
针对Http接口请求的方式,统一封装异常,返回异常信息
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.converter.HttpMessageConversionException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@ControllerAdvice
@Slf4j
public class ExceptionAspect {
private static final Logger logger = LoggerFactory.getLogger(ExceptionAspect.class);
@ResponseBody
@ExceptionHandler(Exception.class)
public BaseDataVO defaultExceptionHandler(Exception e) {
logger.error("system error", e);
return buildServerErrorVO(ErrorCode.SERVICE_INTERNAL_ERROR.getCode(), ErrorCode.SERVICE_INTERNAL_ERROR.getDesc());
}
@ResponseBody
@ExceptionHandler(BizRuntimeException.class)
public BaseDataVO bizRuntimeExceptionHandler(com.qudian.universe.scm