/**
* 通用结果类
*
* @param <T>
* @author ghy
* @version 1.0
* @date 2022-05-10
*/
public class ResultVO<T> {
/**
* 响应状态码
*/
private Integer code = -1;
/**
* 响应消息
*/
private String message;
/**
* 附加数据
*/
private T data;
/**
* 失败:状态码500,自定义错误消息
*
* @param message
* @return
*/
public static ResultVO error(String message) {
return new ResultVO<>(500, message);
}
/**
* 失败:状态码500,自定义错误消息、附加数据
*
* @param message
* @param data
* @param <T>
* @return
*/
public static <T> ResultVO error(String message, T data) {
return new ResultVO<>(500, message, data);
}
/**
* 失败:自定义状态码、错误消息
*
* @param message
* @return
*/
public static ResultVO error(Integer code, String message) {
return new ResultVO<>(code, message);
}
/**
* 失败:自定义状态码、错误消息、附加数据
*
* @param message
* @param data
* @param <T>
* @return
*/
public static <T> ResultVO error(Integer code, String message, T data) {
return new ResultVO<>(code, message, data);
}
/**
* 成功:状态码200,自定义成功消息
*
* @param message
* @return
*/
public static ResultVO success(String message) {
return new ResultVO<>(200, message);
}
/**
* 成功:状态码200,自定义成功消息、附加数据
*
* @param message
* @param data
* @param <T>
* @return
*/
public static <T> ResultVO success(String message, T data) {
return new ResultVO<>(200, message, data);
}
/**
* 成功:自定义状态码、成功消息
*
* @param message
* @return
*/
public static ResultVO success(Integer code, String message) {
return new ResultVO<>(code, message);
}
/**
* 成功:自定义状态码、成功消息、附加数据
*
* @param message
* @param data
* @param <T>
* @return
*/
public static <T> ResultVO success(Integer code, String message, T data) {
return new ResultVO<>(code, message, data);
}
private ResultVO() {
}
private ResultVO(Integer code, String message) {
this.code = code;
this.message = message;
}
private ResultVO(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
@Override
public String toString() {
return "ResultVO{" +
"code=" + code +
", message='" + message + '\'' +
", data=" + data +
'}';
}
}