掘金日新计划 · 8 月更文挑战第32天--Spring Boot电商项目(六)

92 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第32天,点击查看活动详情

今天带大家来学习一下common包的创建以及统一返回值ApiRestResponse对象代码的编写

1.创建公共返回参数模块

image.png
正常的接口返回值有状态值status,返回信息msg,返回数据data等三个参数,现在我们来编写一下对应的公共的返回值对象ApiRestResponse

2.新建common包且新建ApiRestResponse类文件

创建common包 image.png 新建ApiRestResponse类文件 image.png

3.三个返回值的定义

首先定义三个返回值
status:返回状态码
msg:返回信息
data:返回列表数据
image.png 进行getter和setter方法的创建 image.png

4.定义成功返回信息的状态码和返回信息

image.png

private static final int OK_CODE=10000;
private static final  String OK_MSG = "SUCCESS";

5.定义三个ApiRestResponse构造方法

ps:为什么要创建三个构造方法,后面我会进行详细说明?

  • 三个参数的构造方法: image.png
//3.定义三个参数的构造方法
public ApiRestResponse(Integer status, String msg, T data) {
    this.status = status;
    this.msg = msg;
    this.data = data;
}
  • 两个参数的构造方法: image.png
//4.定义两个参数的构造方法
public ApiRestResponse(Integer status, String msg) {
    this.status = status;
    this.msg = msg;
}
  • 无参构造方法: image.png

6.定义成功返回值的两个方法

image.png

  • 不带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参数的