统一结果返回
@Data
@AllArgsConstructor
public class Result<T> {
private Boolean success;
private Integer code;
private String message;
private T data;
/**
* 把类构造方法私有
*/
private Result() {
}
;
/**
* 成功的静态方法
*
* @return
*/
public static Result ok() {
Result result = new Result();
result.setSuccess(Boolean.TRUE);
result.setCode(ResultCode.SUCCESS.getCode());
result.setMessage(ResultCode.SUCCESS.getName());
return result;
}
public static <T> Result<T> ok(T data) {
Result result = new Result();
result.setSuccess(Boolean.TRUE);
result.setCode(ResultCode.SUCCESS.getCode());
result.setMessage(ResultCode.SUCCESS.getName());
result.setData(data);
return result;
}
/**
* 失败的静态方法
*
* @return
*/
public static Result error() {
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCode.ERROR.getCode());
result.setMessage("失败");
return result;
}
public static <T> Result<T> buildResult(ResultCode resultCode, T data) {
Boolean success = Boolean.FALSE;
if (resultCode.equals(ResultCode.SUCCESS)) {
success = Boolean.TRUE;
}
return new Result<T>(success, resultCode.getCode(), resultCode.getDesc(), data);
}
}
统一返回状态码
public enum ResultCode {
SUCCESS(20000, "SUCCESS", "成功"),
ERROR(20001, "ERROR", "失败"),
LOGINERROR(20002, "LOGINERROR", "用户名密码错误"),
ACCESSERROR(20003, "ACCESSERROR", "权限不足"),
REMOTEERROR(20004, "REMOTEERROR", "远程调用失败"),
REPERROR(20005, "REPERROR", "重复操作"),
;
private Integer code;
private String name;
private String desc;
ResultCode(Integer code, String name, String desc) {
this.code = code;
this.name = name;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "ResultCode{" +
"code=" + code +
", name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
版权声明:本文为qq_39552758原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。