package com.ruoyi.im.comm;
|
|
import java.io.Serializable;
|
|
/**
|
* REST API 统一返回结果封装类
|
* @param <T> 返回数据类型
|
*/
|
public class Result<T> implements Serializable {
|
// 状态码
|
private int code;
|
// 消息提示
|
private String message;
|
// 返回数据
|
private T data;
|
// 时间戳
|
private long timestamp;
|
|
// 常用状态码
|
public static final int SUCCESS_CODE = 200;
|
public static final int BAD_REQUEST_CODE = 400;
|
public static final int UNAUTHORIZED_CODE = 401;
|
public static final int FORBIDDEN_CODE = 403;
|
public static final int NOT_FOUND_CODE = 404;
|
public static final int SERVER_ERROR_CODE = 500;
|
|
// 私有构造器
|
private Result(int code, String message, T data) {
|
this.code = code;
|
this.message = message;
|
this.data = data;
|
this.timestamp = System.currentTimeMillis();
|
}
|
|
// ============= 成功响应方法 =============
|
|
public static <T> Result<T> success() {
|
return new Result<>(SUCCESS_CODE, "操作成功", null);
|
}
|
|
public static <T> Result<T> success(T data) {
|
return new Result<>(SUCCESS_CODE, "操作成功", data);
|
}
|
|
public static <T> Result<T> success(String message, T data) {
|
return new Result<>(SUCCESS_CODE, message, data);
|
}
|
|
// ============= 错误响应方法 =============
|
|
public static <T> Result<T> error() {
|
return new Result<>(SERVER_ERROR_CODE, "系统错误", null);
|
}
|
|
public static <T> Result<T> error(String message) {
|
return new Result<>(SERVER_ERROR_CODE, message, null);
|
}
|
|
public static <T> Result<T> error(int code, String message) {
|
return new Result<>(code, message, null);
|
}
|
|
public static <T> Result<T> badRequest(String message) {
|
return new Result<>(BAD_REQUEST_CODE, message, null);
|
}
|
|
public static <T> Result<T> unauthorized(String message) {
|
return new Result<>(UNAUTHORIZED_CODE, message, null);
|
}
|
|
public static <T> Result<T> forbidden(String message) {
|
return new Result<>(FORBIDDEN_CODE, message, null);
|
}
|
|
public static <T> Result<T> notFound(String message) {
|
return new Result<>(NOT_FOUND_CODE, message, null);
|
}
|
|
// ============= Getter方法 =============
|
|
public int getCode() {
|
return code;
|
}
|
|
public String getMessage() {
|
return message;
|
}
|
|
public T getData() {
|
return data;
|
}
|
|
public long getTimestamp() {
|
return timestamp;
|
}
|
}
|