org.macrocloud.kernel.toolkit.response.ResponseData Maven / Gradle / Ivy
package org.macrocloud.kernel.toolkit.response;
import java.io.Serializable;
import lombok.Data;
@Data
public class ResponseData implements Serializable {
private static final long serialVersionUID = -2396589362283797904L;
public static final String DEFAULT_SUCCESS_MESSAGE = "请求成功";
public static final String DEFAULT_ERROR_MESSAGE = "网络异常";
public static final Integer DEFAULT_SUCCESS_CODE = 200;
public static final Integer DEFAULT_ERROR_CODE = 500;
private Integer httpCode;
private String message;
private Long timestamp;
private boolean success = true;
private T data;
public ResponseData() {
}
public ResponseData(Integer httpCode, String message, T data) {
this.httpCode = httpCode;
this.message = message;
this.data = data;
this.timestamp = System.currentTimeMillis();
}
public ResponseData(Integer httpCode, String message, T data, boolean success) {
this.httpCode = httpCode;
this.message = message;
this.data = data;
this.timestamp = System.currentTimeMillis();
this.success = success;
}
@SuppressWarnings("unchecked")
public static ResponseData success(T data, String msg) {
return new SuccessResponseData(200, msg, data);
}
public static SuccessResponseData success() {
return new SuccessResponseData();
}
public static SuccessResponseData success(Object object) {
return new SuccessResponseData(object);
}
public static SuccessResponseData success(Integer code, String message, Object object) {
return new SuccessResponseData(code, message, object);
}
public static SuccessResponseData data(Object object) {
return new SuccessResponseData(object);
}
public static ErrorResponseData error(String message) {
return new ErrorResponseData(message);
}
public static ErrorResponseData error(Integer code, String message) {
return new ErrorResponseData(code, message);
}
public static ErrorResponseData error(Integer code, String message, Object object) {
return new ErrorResponseData(code, message, object);
}
@SuppressWarnings("rawtypes")
public static ResponseData status(boolean flag) {
return (ResponseData) (flag ? success("操作成功") : error("操作失败"));
}
}