1. 程式人生 > 其它 >統一返回類封裝

統一返回類封裝


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @author 王令
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    private boolean status;
    private int code;
    private String msg;
    private Object data;

    private static final String SUCCESS = "success";
    private static final String FAIL = "fail";
    private static final String ERROR = "error";

    private static final int SUCCESS_CODE = 0;
    private static final int FAIL_CODE = 1;
    private static final int ERROR_CODE = -1;


    public static Result ok(){
        return ok(SUCCESS);
    }

    public static Result ok(int code){
        return ok(code, SUCCESS);
    }

    public static Result ok(String msg){
        return ok(msg, null);
    }

    public static Result ok(Object data){
        return ok(SUCCESS, data);
    }

    public static Result ok(int code, String msg){
        return ok(code, msg, null);
    }

    public static Result ok(int code, Object data){
        return ok(code, SUCCESS, data);
    }

    public static Result ok(String msg, Object data){
        return ok(SUCCESS_CODE, msg, data);
    }

    public static Result ok(int code, String msg, Object data){
        return new Result(true, code, msg, data);
    }

    public static Result fail(){
        return fail(FAIL_CODE);
    }
    public static Result fail(String msg){
        return fail(msg, null);
    }

    public static Result fail(Object data){
        return fail(FAIL, data);
    }

    public static Result fail(String msg, Object data){
        return new Result(false, FAIL_CODE, msg, data);
    }

    public static Result error(){
        return error(ERROR);
    }

    public static Result error(String msg){
        return new Result(false, ERROR_CODE, msg, null);
    }
}
掙錢養媳婦兒^.^