Restful通用结果封装

package com.example.miaosha_xdp.result;

import com.sun.org.apache.bcel.internal.generic.NEW;
import lombok.Getter;

/**
 * 返回码和返回信息封装
 */
@Getter
public class CodeMsg {
    private Integer code;
    private String msg;
    /**
     *通用的错误码
     */
    public static final CodeMsg SUCCESS = new CodeMsg(0, "success");
    public static final CodeMsg SERVER_ERROR = new CodeMsg(500100, "服务端异常");
    public static final CodeMsg BIND_ERROR = new CodeMsg(500101, "参数异常");
    
    /**
     * 登录模块 5002XX
     */
    public static CodeMsg SESSION_ERROR = new CodeMsg(500210, "Session不存在或者已经失效");
    public static CodeMsg PASSWORD_EMPTY = new CodeMsg(500211, "登录密码不能为空");
    public static CodeMsg MOBILE_EMPTY = new CodeMsg(500212, "手机号不能为空");
    public static CodeMsg MOBILE_ERROR = new CodeMsg(500213, "手机号格式错误");
    public static CodeMsg MOBILE_NOT_EXIST = new CodeMsg(500214, "手机号不存在");
    public static CodeMsg PASSWORD_ERROR = new CodeMsg(500215, "密码错误");
    /**
     * 商品模块 5003XX
     */
    /**
     * 订单模块 5004XX
     */
    /**
     * 秒杀模块 5005XX
     */

    /**
     * 构造函数私有化
     * 为了不让别人直接new出来
     *
     * @param code
     * @param msg
     */
    private CodeMsg(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
/**
     * 给CodeMsg里面的msg属性追加属性
     * @param args
     * @return
     */
    public CodeMsg fillArgs(Object... args) {
        int code=this.code;
        String message = String.format(this.msg, args);
        return new CodeMsg(code,message);
    }
}
package com.example.miaosha_xdp.result;

import lombok.Getter;
import lombok.Setter;

/**
 * 封装返回结果
 * 这里没有set方法,不让别人通过set给属性赋值
 * @param <T>
 */
@Getter
public class Result<T> {
    private Integer code;
    private String msg;
    private T data;
    public static <T> Result<T> success(T data){
        return new Result<T>(data);
    }
    public static <T> Result<T> error(CodeMsg codeMsg){
        return new Result<T>(codeMsg);
    }

    private Result(T data) {
        this.data = data;
    }

    private Result(CodeMsg codeMsg) {
        if (codeMsg==null){
            return;
        }
        this.code = codeMsg.getCode();
        this.msg=codeMsg.getMsg();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42545256/article/details/84894499