import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
@ApiModel(description = "通用返回响应结果对象", value = "result")
public class Result<T> implements Serializable {
@ApiModelProperty(notes = "响应结果的错误信息", required = true)
private String message;
@ApiModelProperty(notes = "响应结果的错误信息状态码,2000X表示成功,4000X表示错误,5000X表示服务端异常", required = true)
private Integer code;
@ApiModelProperty(notes = "响应结果逻辑数据", required = true)
private T data;
public static <T> Result<T> ok() {
return new Result<T>(StatusCode.SUCCESS.message(), StatusCode.SUCCESS.code(), null);
}
public static <T> Result<T> ok(T data) {
return new Result<T>(StatusCode.SUCCESS.message(), StatusCode.SUCCESS.code(), data);
}
public static <T> Result<T> error() {
return new Result<T>(StatusCode.FAILURE.message(), StatusCode.FAILURE.code(), null);
}
public static <T> Result<T> error(T data) {
return new Result<T>(StatusCode.FAILURE.message(), StatusCode.FAILURE.code(), data);
}
public static <T> Result<T> error(StatusCode statusCode, T data) {
return new Result<T>(statusCode.message(), statusCode.code(), data);
}
public static <T> Result<T> error(StatusCode statusCode) {
return new Result<T>(statusCode.message(), statusCode.code(), null);
}
public static <T> Result<T> errorMessage(String message, Integer code, T data) {
return new Result<T>(message, code, data);
}
public static <T> Result<T> errorMessage(String message) {
return new Result<T>(message, StatusCode.CUSTOM_FAILURE.code(), null);
}
public Result() {
}
public Result(String message, Integer code, T data) {
this.message = message;
this.code = code;
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public Boolean isSuccess() {
if (code.toString().startsWith("2000")) {
return true;
}
return false;
}
}