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

返回给前端的结果集

1.为什么要统一结果集?

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

2.Result数据类型

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

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(ResultCode.SUCCESS.code);
    result.setMsg(ResultCode.SUCCESS.msg);
    return result;
}

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

//失败,返回自己定义的信息码和信息
public Result<T> error(){
    Result<T> result=new Result<>();
    result.setCode(ResultCode.ERROR.code);
    result.setMsg(ResultCode.ERROR.code);
    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;
}

@Override
public String toString() {
    return "Result{" +
            "code='" + code + '\'' +
            ", msg='" + msg + '\'' +
            ", data=" + data +
            '}';
}
}
3.ResultCode枚举

​ 在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;
    }
}
  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值