package com.xly.erp.common.response;
import java.io.Serializable;
/**
* 统一响应体(docs/04 § 1.4 SSoT)。
*
*
REQ-USR-001 T2。所有接口返回 {@code Result}:{@code code=0} 成功,非 0 为错误码。
*
* @param 业务数据类型
*/
public class Result implements Serializable {
private static final long serialVersionUID = 1L;
private int code;
private String message;
private T data;
public Result() {
}
public Result(int code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
/**
* 成功且携带数据。
*/
public static Result success(T data) {
return new Result<>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
}
/**
* 成功且不携带数据。
*/
public static Result success() {
return new Result<>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), null);
}
/**
* 失败,携带错误码与可读提示。
*/
public static Result fail(ResultCode code, String message) {
return new Result<>(code.getCode(), message, null);
}
public int getCode() {
return code;
}
public void setCode(int 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;
}
}