当接口中包含多个修改数据库的操作时,如果保证在事务进行回滚的同时返回统一的结果对象呢???
统一返回结果对象,参考如下连接的DataResult对象
全局异常接收处理类
当需要处理异常问题时,抛出BaseException异常或其子类即可
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = BaseException.class)
@ResponseBody
public DataResult baseExceptionHandler(BaseException e){
IErrorCode errorCode = e.getErrorCode();
return DataResult.fail(errorCode.errCode()+"",errorCode.errName());
}
}
public interface IErrorCode {
/**错误名称 */
String errMsg();
/**错误码*/
int errCode();
}
public enum XxxEnum implements IErrorCode {
XX_XX(100001,"id不能为空");
private int code;
private String message;
XxxEnum (int code,String message){
this.code = code;
this.message = message;
}
@Override
public String errMsg() {
return message;
}
@Override
public int errCode() {
return code;
}
}