Java后端开发项目时,需要给前端传一些数据,可以直接将一个List或者Map返回给前端,但是这样会显得很乱,并且有时候前端需要的不仅仅只是数据,可能还有一些错误码、错误信息等,这时就需要一种规范的数据格式传到前端。
2.Result数据类型 可以创建一种具有信息码code、信息msg和数据的类型Result,用来返回给前端数据:
public class Result3.ResultCode枚举{ //返回信息码 private String code; //返回信息 private String msg; //返回数据 T data; public Result(){} public Result(T data){ this.data=data; } //成功,只返回成功码和信息 public Result success(){ Result result=new Result<>(); result.setCode(ResultCode.SUCCESS.code); result.setMsg(ResultCode.SUCCESS.msg); return result; } //成功,返回成功码、信息和数据 public Result success(T data){ Result result=new Result(); result.setCode(ResultCode.SUCCESS.code); result.setMsg(ResultCode.SUCCESS.msg); result.setData(data); return result; } //失败,返回自己定义的信息码和信息 public Result error(){ Result result=new Result<>(); result.setCode(ResultCode.ERROR.code); result.setMsg(ResultCode.ERROR.code); return result; } //失败,返回controller层传过来信息码和信息 public Result error(String code,String msg){ Result result=new Result<>(); result.setCode(code); result.setMsg(msg); return result; } public void setCode(String code){ this.code=code; } public void setMsg(String msg){ this.msg=msg; } public void setData(T data){ this.data=data; } @Override public String toString() { return "Result{" + "code='" + code + ''' + ", msg='" + msg + ''' + ", data=" + data + '}'; } }
在Result类型中需要有信息码code和信息msg,那么可以使用枚举将可能会发生的情况信息写入其中:
public enum ResultCode {
SUCCESS("0", "成功"),
ERROR("-1", "系统异常"),
PARAM_ERROR("1001", "参数异常"),
USER_EXIST_ERROR("2001", "用户已存在"),
USER_ACCOUNT_ERROR("2002", "账号或密码错误"),
USER_NOT_EXIST_ERROR("2003", "未找到用户"),
ORDER_PAY_ERROR("3001", "库存不足,下单失败"),
PARAM_LOST_ERROR("2004", "参数缺失"),
PARAM_PASSWORD_ERROR("2005", "原密码输入错误"),
;
public String code;
public String msg;
ResultCode(String code, String msg) {
this.code = code;
this.msg = msg;
}
}



