java与前端交互自定义返回类
2021-10-24 本文已影响0人
HachiLin
工作中后端与前端打交道是几乎每天都要发生的,定义好的返回类不仅能让前端容易处理后端返回数据,还能方便排查错误问题。
import java.io.Serializable;
@SuppressWarnings({"unchecked", "rawtypes"})
public class ResultMessage<T> implements Serializable {
private static final long serialVersionUID = 3443815263986524969L;
/**
* 通用状态码
*/
public static String SUCCESS_CODE = "200";
public static String RET_SUCCESS_MESSAGE = "操作成功!";
public static String FAIL_CODE = "400";
public static String RET_FAIL_MESSAGE = "操作失败!";
public static String ERROR_CODE = "500";
public static String RET_ERROR_MESSAGE = "系统异常!";
public static String AUTH_ERROR = "401";
public static String AUTH_ERROR_MESSAGE = "权限错误!";
public static String LOGIN_TIMEOUT = "402";
public static String LOGIN_TIMEOUT_MESSAGE = "登录失效!";
public ResultMessage() {
}
public ResultMessage(Boolean result, String code, String message, T data) {
this.result = result;
this.code = code;
this.message = message;
this.data = data;
}
private Boolean result = Boolean.TRUE;
private String code;
private String message;
private T data;
public static <TT> ResultMessage<TT> success(String msg, TT data) {
return new ResultMessage(Boolean.TRUE, SUCCESS_CODE, msg, data);
}
public static <TT> ResultMessage<TT> success(TT data) {
return new ResultMessage(Boolean.TRUE, SUCCESS_CODE, RET_SUCCESS_MESSAGE, data);
}
public static <TT> ResultMessage<TT> success(String msg) {
return new ResultMessage(Boolean.TRUE, SUCCESS_CODE, msg, null);
}
public static <TT> ResultMessage<TT> fail(String msg, TT data) {
return new ResultMessage(Boolean.FALSE, FAIL_CODE, msg, data);
}
public static <TT> ResultMessage<TT> fail(TT data) {
return new ResultMessage(Boolean.FALSE, FAIL_CODE, RET_FAIL_MESSAGE, data);
}
public static <TT> ResultMessage<TT> fail(String msg) {
return new ResultMessage(Boolean.FALSE, FAIL_CODE, msg, null);
}
public static <TT> ResultMessage<TT> error(String msg, TT data) {
return new ResultMessage(Boolean.FALSE, ERROR_CODE, msg, data);
}
public static <TT> ResultMessage<TT> error(TT data) {
return new ResultMessage(Boolean.FALSE, ERROR_CODE, RET_ERROR_MESSAGE, data);
}
public static <TT> ResultMessage<TT> error(String msg) {
return new ResultMessage(Boolean.FALSE, ERROR_CODE, msg, null);
}
public static <TT> ResultMessage<TT> result(Boolean result, String code, String msg, TT data) {
return new ResultMessage(result, code, msg, data);
}
public static <TT> ResultMessage<TT> idNull() {
return new ResultMessage(Boolean.FALSE, ERROR_CODE, USER_ID_NULL, null);
}
public static <TT> ResultMessage<TT> merchantNoNull() {
return new ResultMessage(Boolean.FALSE, ERROR_CODE, MERCHANT_NO_NULL, null);
}
public Boolean getResult() {
return this.result;
}
public void setResult(Boolean result) {
this.result = result;
}
public String getCode() {
return this.code;
}
public void setCode(String code) {
this.code = code;
}
public T getData() {
return (T) this.data;
}
public void setData(T data) {
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}