public class AliJsonResult<T> {
/**
* 错误码
*/
private String code;
/**
* 错误信息
*/
private String message;
/**
* 提示语
*/
private String hint;
/**
* 返回数据
*/
private T data;
public JsonResult() {
}
private JsonResult<T> message(String msg) {
this.setMessage(msg);
return this;
}
private JsonResult<T> code(String code) {
this.setCode(code);
return this;
}
/**
* 自由定义提示语
*
* @param hint
* @return
*/
public JsonResult<T> hint(String hint) {
this.setHint(hint);
return this;
}
protected static <T> JsonResult<T> build(T data) {
JsonResult<T> result = new JsonResult<>();
if (data != null) {
result.setData(data);
}
return result;
}
protected static <T> JsonResult<T> build(T data, AliErrorCodeEnum codeEnum) {
JsonResult<T> result = build(data);
result.code(codeEnum.getCode());
result.message(codeEnum.getDescription());
return result;
}
protected static <T> JsonResult<T> build(T data, AliErrorCodeEnum codeEnum, String hint) {
JsonResult<T> result = build(data);
result.code(codeEnum.getCode());
result.message(codeEnum.getDescription());
result.hint(hint);
return result;
}
/**
* 操作成功
*
* @param <T>
* @return
*/
public static <T> JsonResult<T> ok() {
return build(null, AliErrorCodeEnum.SUCCESS);
}
public static <T> JsonResult<T> ok(T data) {
return build(data, AliErrorCodeEnum.SUCCESS);
}
/**
* 操作失败
*
* @param <T>
* @return
*/
public static <T> JsonResult<T> fail() {
return build(null, AliErrorCodeEnum.SYSTEM_ERROR_B0001);
}
public static <T> JsonResult<T> fail(T data) {
return build(data, AliErrorCodeEnum.SYSTEM_ERROR_B0001);
}
public static <T> JsonResult<T> fail(AliErrorCodeEnum codeEnum) {
return build(null, codeEnum);
}
public static <T> JsonResult<T> fail(T data, AliErrorCodeEnum codeEnum) {
return build(data, codeEnum);
}
/**
* 判断错误码是否相同
*
* @return
*/
public boolean isOk() {
return this.getCode().equals(AliErrorCodeEnum.SUCCESS.getCode());
}
public void setCode(String code) {
this.code = code;
}
public void setMessage(String message) {
this.message = message;
}
public void setHint(String hint) {
this.hint = hint;
}
public void setData(T data) {
this.data = data;
}
public String getCode() {
return code;
}
public String getMessage() {
return message;
}
public String getHint() {
return hint;
}
public T getData() {
return data;
}
}
统一Json格式返回前台
最新推荐文章于 2024-04-27 17:30:34 发布