开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):统一返回结果(1)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11286
统一返回结果(1)
目录:
一.统一返回数据格式
二.创建统一结果返回类
一.统一返回数据格式
项目中我们会将响应封装成 json 返回,一般我们会将所有接口的数据格式统一,使前端(iOS Android,Web)对数据的操作更一致、轻松。
一般情况下 ,统-返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。
但是一般会包含状态码、返回消息、数据这几部分内容
例如,我们的系统要求返回的基本数据格式如下:
1.列表:
"success":true,
"code": 20000,
"message":“成功"
"data":{
"items":
"id":“1",
"name":“刘德华“
"intro":"毕业于师范大学数学系,热爱教育事业,执教数学思维6年有余"
2.分页
"success":true ,
"code":20000,
"message":”成功"
"data":
"total":17,
"raws":
"id":"1",
"name":"刘德华",
"intro":“毕业于师范大学数学系,热爱教育事业,执教数学思维6年有余"
3.没有返回数据:
"success":true ,
"code":20000,
"message":"成功",
"data":{}
"success":false,
"code":20001,
"message":“失败”
"data": {}
4.定义统-结果
"success":布尔,//响应是否成功
"code":数字,//响应码
"message":字符串,//返回消息
"data": HashMap //返回数据,放在键值对中
二.创建统一结果返回类
1、在 common 模块下创建子模块 common-utils
2、创建接口定义返回码
创建包 com.atguigu.commonutils,创建接口 ResultCode.javapackage com.atguigu.commonutils;
public interface ResultCode
public static Integer SUCCESS = 20000;
public static Integer ERROR = 20001;
3. 返回数据格式
@Data
public classRI(
@ApiModelProperty(value-"是否成功")
private Boolean success;
@ApiModelProperty(value-"返回码")
private Integer code;
@ApiModelProperty(value-"返回消息")
private String mess age;
@ApiModeProperty(value-"返回数据")
private Mapdata=new HashMap();
private R()
public static R ok()
Rr.newR();
r.setSuccess (true);
r.setCode (ResultCode.SUCCESS);
return r;
public static R error()
Rr.newR();
r.setSuccess (false);
r.setCode (ResultCode.ERROR);
r.setMessage("失败");
return r;
public R success(Boolean success)fthis.setSuccess(success);
return this;
public R message(String message)this.setMessage(message);
return this;
public R code(Integer code fthis.setCode(code:
public R data(String key, Object value)this.data.put(key,value);
return this;
public R data(Map map)fthis.setData(map);
return this ;
//把构造方法私有 private R()
//成功静态方法 public static R ok0fRr=newR():
r.setSuccess (true) ;
r.setCode (ResultCode. SUCCESS ;r. setMessage("成功");
return r ;
//失败静态方法 public static R error0
R r= new R();
r.setSuccess (false);
r.setCode (ResultCode.ERROR;
r.setMessage("
失败");
return r;