java后端返回给削端的统一结果集

返回给前端的结果集

.为什么要统一结果集?

Java后端开发项目时,需要给前端传一些数据,可以直接将一个List或者Map返回给前端,但是这样会显得很乱,并且有时候前端需要的不仅仅只是数据,可能 还有一些错误码、错误信息等,这时就需要一种规范的数据格式传到前端。

2.Result数据类型

可以创建一种具有信息码code、信息msg和数据的类型Result,用来返回给前端数据:

package com.lppz.createpojo.vo;

public class Result <T>{

private String code;

private String msg;

//返回数据
T data;

public Result(){};

public Result(T data){
this.data=data;
}

//成功,只返回成功码和信息
public Result<T> success(){
Result<T> result=new Result<>();
result.setCode(ResultCodeEnum.SUCCESS.code);
result.setMsg(ResultCodeEnum.SUCCESS.msg);
return result;
}

//成功,返回成功码,信息,数据
public Result<T> success(T data){
Result<T> result=new Result<>();
result.setCode(ResultCodeEnum.SUCCESS.code);
result.setMsg(ResultCodeEnum.SUCCESS.msg);
result.setData(data);
return result;
}

//失败,只返回失败码和信息
public Result<T> error(){
Result<T> result=new Result<>();
result.setCode(ResultCodeEnum.ERROR.code);
result.setMsg(ResultCodeEnum.ERROR.msg);
return result;
}

//失败,返回controller层传过来的失败码和信息
public Result<T> error(String code,String msg){
Result<T> 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;
}

//Alt + insert
@Override
public String toString() {
return "Result{" +
"code='" + code + '\'' +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}


}


package com.lppz.createpojo.vo;

public enum ResultCodeEnum {

SUCCESS("200","成功"),
ERROR("-1","系统异常"),
PARAM_ERROR("1001","系统异常"),
UDSER_EXIST_ERROR("2001","用户已存在"),
UDSER_NOT_EXIST_ERROR("2002","找不到用户"),
UDSER_ACCOUT_ERROR("2003","账号或密码错误"),
ORDER_PAY_ERROR("3001","库存不足,下单失败"),
PARAM_LOST_ERROR("3002","参数缺失"),
PARAM_PASSWORD_ERROR("3003","原密码输入错误");

public String code;
public String msg;


ResultCodeEnum(String code,String msg){
this.code=code;
this.msg=msg;
}

}










posted @ 2022-05-30 00:28  江南小镇的一缕阳光  阅读(296)  评论(0)    收藏  举报