返回封装结果集Result

在做后端的开发的时候需要给前台返回一个结果集,结果集中包含状态码、返回信息和返回对象;

返回的结果集中会有常量的出现,所以我们先封装一个常量类,方便调用;

public class ResultConstant {


    //返回状态码:200-》成功;   500-》失败
    public final static int OK = 200;
    public final static int ERROR = 500;
    public final static int MAN_CODE = 0;
    public final static int WOMEN_CODE = 1;
    public final static String OK_MESSAGE = "操作成功";
    public final static String ERROR_MESSAGE = "操作失败";


}

然后我们就要去封装返回集了

/**
 * @className: Restult
 * @description: 统一后台返回格式
 * @create: 2021-08-7 21:08
 **/
public class Result {

    // 返回的状态码
    private int code;

    // 返回的信息提示
    private String message;

    // 返回的数据
    private Object result;


    private Result() {
    }

    private Result(int code, String message, Object result) {
        this.code = code;
        this.message = message;
        this.result = result;
    }



    @Deprecated
    public static Result resultError(boolean r){
        if(r){
            return ok();
        }else {
            return error();
        }
    }

    public static Result result(boolean r){
        if(r){
            return ok();
        }else {
            return error();
        }
    }

    public static Result ok(){
        return ok(ResultConstant.OK_MESSAGE,null);
    }

    public static Result ok(Object result){
        return ok(ResultConstant.OK_MESSAGE,result);
    }

    public static Result ok(String message, Object result){
        return new Result(ResultConstant.OK,message,result);
    }



    public static Result error(){
        return error(ResultConstant.ERROR_MESSAGE,null);
    }

    public static Result error(Object result){
        return error(ResultConstant.ERROR_MESSAGE,result);
    }

    public static Result error(String message, Object result){
        return new Result(ResultConstant.ERROR,message,result);
    }



    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return message;
    }

    public void setMsg(String message) {
        this.message = message;
    }

    public Object getData() {
        return result;
    }

    public void setData(Object result) {
        this.result = result;
    }
}

以其中成功的说明:
在这里插入图片描述
这些的实现用到了方法的重载:
1.当我们不给传递参数的时候,调用第一个方法,第一个方法重载第三个方法,返回的是我们封装的常量类中的常量数据;
2.当我们传递参数为result时,就是返回对象时,调用第二个方法重载第三个方法,即返回状态码和返回信息是默认的常量,返回的对象为我们的参数result;
3.当传递message和result时,直接调用第三个方法,返回的状态码、返回信息、返回对象都是我们传入的参数;

当然,失败的方法同样;

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值