1 需求
封装统一的接口返回类型(对象)
不废话,代码一看便知
2 代码示例
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Result<T> {
// 成功的返回状态码1
private static Integer CODE_SUCCESS = 1;
// 失败的返回状态码0
private static Integer CODE_ERROR = 0;
// 成功的默认返回信息
private static String DEFAULT_SUCCESS_MSG = "success";
// 失败的默认返回信息
private static String DEFAULT_ERROR_MSG = "error";
/**
* code 返回的状态码
* data 返回的数据对象
* msg 返回的字符串
*/
private Integer code;
private T data;
private String msg;
private Result() {
}
// 默认的成功返回
public static <T> Result success() {
return new Result(CODE_SUCCESS, true, DEFAULT_SUCCESS_MSG);
}
// 指定返回数据data的成功返回
public static <T> Result success(T data) {
return new Result<>(CODE_SUCCESS, data, DEFAULT_SUCCESS_MSG);
}
// 指定返回字符串msg的成功返回
public static <T> Result success(String msg) {
return new Result<>(CODE_SUCCESS, true, msg);
}
// 默认的失败返回
public static <T> Result error() {
return new Result(CODE_ERROR,false,DEFAULT_ERROR_MSG);
}
// 指定返回数据data的失败返回
public static <T> Result error(T data){
return new Result(CODE_ERROR,data,DEFAULT_ERROR_MSG);
}
// 指定返回字符串msg的失败返回
public static <T> Result error(String msg){
return new Result(CODE_ERROR,false,msg);
}
}