响应工具类
public class DataResult {
/**
* 请求响应code,0为成功 其他为失败
*/
private int code;
/**
* 响应异常码详细信息
*/
private String msg;
/**
* 需要返回的数据
*/
private Object data;
private boolean success = false;
public DataResult(int code, Object data) {
this.code = code;
this.data = data;
this.msg = null;
this.success = false;
}
public DataResult(int code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public DataResult(int code, String msg) {
this.code = code;
this.msg = msg;
this.data = null;
}
public DataResult() {
this.code = BaseResponseCode.SUCCESS.getCode();
this.msg = BaseResponseCode.SUCCESS.getMsg();
this.success = true;
this.data = null;
}
public DataResult(Object data) {
this.data = data;
this.code = BaseResponseCode.SUCCESS.getCode();
this.msg = BaseResponseCode.SUCCESS.getMsg();
this.success = true;
}
public DataResult(ResponseCodeInterface responseCodeInterface) {
this.data = null;
this.code = responseCodeInterface.getCode();
this.msg = responseCodeInterface.getMsg();
}
public DataResult(ResponseCodeInterface responseCodeInterface, Object data) {
this.data = data;
this.code = responseCodeInterface.getCode();
this.msg = responseCodeInterface.getMsg();
}
/**
* 操作成功 data为null
*/
public static DataResult success() {
return new DataResult();
}
/**
* 操作成功 data 不为null
*/
public static DataResult success(Object data) {
return new DataResult(data);
}
/**
* 操作失败 data 不为null
*/
public static DataResult fail(String msg) {
return new DataResult(BaseResponseCode.OPERATION_ERRO.getCode(), msg);
}
/**
* 自定义返回 data为null
*/
public static DataResult getResult(int code, String msg) {
return new DataResult(code, msg);
}
/**
* 自定义返回 入参一般是异常code枚举 data为空
*/
public static DataResult getResult(BaseResponseCode responseCode) {
return new DataResult(responseCode);
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
错误码枚举类
public enum BaseResponseCode {
/**
* 错误码
*/
SUCCESS(0, "操作成功"),
SYSTEM_BUSY(500001, "系统繁忙,请稍候再试"),
OPERATION_ERRO(500002, "操作失败"),
TOKEN_ERROR(401001, "登录凭证已过期,请重新登录"),
DATA_ERROR(401003, "传入数据异常"),
NOT_ACCOUNT(401004, "该用户不存在,请先注册"),
USER_LOCK(401005, "该用户已被锁定,请联系运营人员"),
PASSWORD_ERROR(401006, "用户名或密码错误"),
METHODARGUMENTNOTVALIDEXCEPTION(401007, "方法参数校验异常"),
UNAUTHORIZED_ERROR(401008, "权鉴校验不通过"),
ROLE_PERMISSION_RELATION(401009, "该菜单权限存在子集关联,不允许删除"),
OLD_PASSWORD_ERROR(401010, "旧密码不正确"),
NOT_PERMISSION_DELETED_DEPT(401011, "该组织机构下还关联着用户,不允许删除"),
OPERATION_MENU_PERMISSION_CATALOG_ERROR(401012, "操作后的菜单类型是目录,所属菜单必须为默认顶级菜单或者目录"),
OPERATION_MENU_PERMISSION_MENU_ERROR(401013, "操作后的菜单类型是菜单,所属菜单必须为目录类型"),
OPERATION_MENU_PERMISSION_BTN_ERROR(401013, "操作后的菜单类型是按钮,所属菜单必须为菜单类型"),
OPERATION_MENU_PERMISSION_URL_NOT_NULL(401015, "菜单权限的url不能为空"),
OPERATION_MENU_PERMISSION_URL_PERMS_NULL(401016, "菜单权限的标识符不能为空"),
;
/**
* 错误码
*/
private final int code;
/**
* 错误消息
*/
private final String msg;
BaseResponseCode(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
使用示例
DataResult dataResult = new DataResult();
dataResult.setCode(1);
dataResult.setMsg("操作失败,请重试");
return dataResult;
return DataResult.success();
return DataResult.fail("操作失败");