携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第32天,点击查看活动详情
今天带大家来学习一下common包的创建以及统一返回值ApiRestResponse对象代码的编写
1.创建公共返回参数模块
正常的接口返回值有状态值status,返回信息msg,返回数据data等三个参数,现在我们来编写一下对应的公共的返回值对象ApiRestResponse
2.新建common包且新建ApiRestResponse类文件
创建common包
新建ApiRestResponse类文件
3.三个返回值的定义
首先定义三个返回值
status:返回状态码
msg:返回信息
data:返回列表数据
进行getter和setter方法的创建
4.定义成功返回信息的状态码和返回信息
private static final int OK_CODE=10000;
private static final String OK_MSG = "SUCCESS";
5.定义三个ApiRestResponse构造方法
ps:为什么要创建三个构造方法,后面我会进行详细说明?
- 三个参数的构造方法:
//3.定义三个参数的构造方法
public ApiRestResponse(Integer status, String msg, T data) {
this.status = status;
this.msg = msg;
this.data = data;
}
- 两个参数的构造方法:
//4.定义两个参数的构造方法
public ApiRestResponse(Integer status, String msg) {
this.status = status;
this.msg = msg;
}
- 无参构造方法:
6.定义成功返回值的两个方法
- 不带data返回值的success方法
public static <T> ApiRestResponse <T> success(){
return new ApiRestResponse<>();
}
- 带data返回值的success方法
public static <T> ApiRestResponse<T> success(T result){
ApiRestResponse<T> response = new ApiRestResponse<>();
response.setData(result);
return response;
}
7.定义错误返回值的两个方法
//8.定义返回错误信息的方法
public static <T> ApiRestResponse<T> error(Integer code,String msg){
return new ApiRestResponse<>(code,msg);
}
//9.定义枚举类的错误返回值(这边会报错,不用担心,下节课会详细说明,可以先把这段代码注释掉即可)
public static <T> ApiRestResponse <T> error(ImoocMallExceptionEnum ex){
return new ApiRestResponse<>(ex.getCode(),ex.getMsg());
}
8.代码总结:
error错误返回要定义两个,其中一个是带两个参数的,一个是参数类型是枚举的?
因为带两个参数的是用来定义有返回状态和返回信息的;枚举类型的,是用来定义控制器非空判断返回的接口数据的
success方法定义两个:一个是没有带参数的,另外一个是带参数的?
因为成功返回的方法,比如我们的删除用户数据,是不需要返回data数据的;而用户订单数据列表是需要返回data参数的