工具类——统一结果返回

统一结果返回

@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版权协议,转载请附上原文出处链接和本声明。