文章归档:https://www.yuque.com/u27599042/coding_star/cl36rbz6b51t5x44
BaseRespResult:用于封装响应客户端数据的基本结果类
依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.3</version>
</parent>
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>
源码
import lombok.Getter;
import lombok.Setter;
import lombok.extern.log4j.Log4j2;import java.io.Serial;
import java.io.Serializable;
import java.util.Objects;/*** 用于封装响应客户端数据的基本结果类** @param <T> 响应客户端数据的类型*/
@Setter
@Getter
@Log4j2
public class BaseRespResult<T> implements Serializable {@Serialprivate static final long serialVersionUID = 1L;/*** 响应状态码*/private Integer code;/*** 响应信息*/private String message;/*** 响应结果数据*/private T data;/*** 构造响应结果对象*/public BaseRespResult() {}/*** 构造指定响应状态码的响应结果对象** @param code 响应状态码*/public BaseRespResult(Integer code) {if (Objects.isNull(code)) log.warn("形参 code 取值为 null");this.code = code;}/*** 构造指定响应状态码和响应信息的结果对象** @param code 响应状态码* @param message 响应信息*/public BaseRespResult(Integer code, String message) {this(code);if (Objects.isNull(message)) log.warn("形参 message 取值为 null");this.message = message;}/*** 构造指定响应状态码和响应数据的结果对象** @param code 响应状态码* @param data 响应数据*/public BaseRespResult(Integer code, T data) {this(code);if (Objects.isNull(data)) log.warn("形参 data 取值为 null");this.data = data;}/*** 构造指定响应状态码、响应信息和响应数据的结果对象** @param code 响应状态码* @param message 响应信息* @param data 响应数据*/public BaseRespResult(Integer code, String message, T data) {this(code, message);if (Objects.isNull(data)) log.warn("形参 data 取值为 null");this.data = data;}/*** 获取指定响应状态码、响应信息、响应数据的响应结果对象** @param code 响应状态码* @param message 响应信息* @param data 响应数据* @return 指定响应状态码、响应信息、响应数据的响应结果对象*/public static BaseRespResult<Object> baseRespResult(Integer code, String message, Object data) {return new BaseRespResult<>(code, message, data);}/*** 获取指定响应状态码的响应结果对象** @param code 响应状态码* @return 指定响应状态码的响应结果对象*/public static BaseRespResult<Object> baseRespResult(Integer code) {return new BaseRespResult<>(code);}/*** 获取指定响应状态码和响应信息的响应结果对象** @param code 响应状态码* @param message 响应信息* @return 指定响应状态码和响应信息的响应结果对象*/public static BaseRespResult<Object> baseRespResult(Integer code, String message) {return new BaseRespResult<>(code, message);}/*** 响应状态码枚举类*/@Getterpublic enum RespCode {/*** 成功*/OK(200, "成功"),/*** 客户端请求错误*/CLIENT_ERROR(400, "客户端请求错误"),/*** 找不到资源*/NOT_FOUND(404, "找不到资源"),/*** 服务器错误*/SERVER_ERROR(500, "服务端错误");/*** 响应状态码*/private final Integer code;/*** 响应信息*/private final String message;/*** 响应状态码枚举类构造器** @param code 响应状态码* @param message 响应信息*/private RespCode(Integer code, String message) {this.code = code;this.message = message;}}}