统一结果返回类

封装一个统一结果返回类,有很多种方法,但是具体调用都大同小异,这里演示其中一种。

只需要两个步骤即可完成统一结果返回类的封装。

1,定义一个接口存放状态码信息,方便返回类直接调用:

public interface ResultCode {
    public static Integer SUCCESS=20000; //成功

    public static Integer ERROR=20001;  //失败
}

2,定义结果返回类R

@Data的含义:lombok表达式,代表getter()和setter()方法

返回结果中包括四个字段,分别是

       (1)是否成功success

       (2) 状态码code

       (3)附带信息message

       (4) 返回数据,用map集合,采取key-value键值对的方式存放数据

//统一结果返回类
@Data
public class R {

    private Boolean success;  //成功状态

    public Integer code;    //状态码

    public String message;   //返回信息

    private Map<String,Object> data=new HashMap<String,Object>();  //返回数据

    private R(){} //私有化,只能用给出的静态方法

    //成功静态方法
    public static R ok(){
        R r=new R();
        r.setSuccess(true);
        r.setCode(ResultCode.SUCCESS);
        r.setMessage("成功");
        return r;
    }

    //失败静态方法
    public static R error(){
        R r=new R();
        r.setSuccess(false);
        r.setCode(ResultCode.ERROR);
        r.setMessage("失败");
        return r;
    }

    //this代表这个对象

    //链式编程 R.ok().code().message()

    public R success(Boolean success){
        this.setSuccess(success);
        return this;
    }

    public R message(String message){
        this.setMessage(message);
        return this;
    }

    public R code(Integer code){
        this.setCode(code);
        return this;
    }

    public R data(String key,Object value){
        this.data.put(key,value);
        return this;
    }

    public R data(Map<String,Object> map){
        this.setData(map);
        return this;
    }

}

到这里已经完成了统一结果返回类的封装,返回类封装好后可在控制器中直接调用。

欢迎小伙伴们 私聊评论 讨论疑点难点。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

psvm_code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值