java

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;
}
}
上一篇 下一篇

猜你喜欢

热点阅读