标准的服务端返回Result封装及使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuqiuhui/article/details/86386304
public class ServerResult<T> implements Serializable {
    private T data;
    private boolean success;
    private int code;
    private String message;

    private ServerResult() {}


    private ServerResult(boolean success, int code, String message) {
        this.success = success;
        this.code = code;
        this.message = message;
    }

    private ServerResult(T data, boolean success, int code, String message) {
        this.data = data;
        this.success = success;
        this.code = code;
        this.message = message;
    }

    /**
     * 返回失败,code码和msg自定义
     */
    public static <T> ServerResult<T> newInstance(){
        return new ServerResult<T>();
    }


    /**
     * 调用默认成功
     */
    public static <T> ServerResult<T> defaultSuccess(T data){
        return new ServerResult<T>(data, true, 200, "返回成功");
    }

    /**
     * 返回默认失败
     */
    public static <T> ServerResult<T> defaultFailure(){
        return new ServerResult<T>(false, 500, "系统内部错误");
    }

    /**
     * 自定义失败一
     */
    public static <T> ServerResult<T> failure(T data, int code, String message){
        return new ServerResult<T>(data, false, code, message);
    }

    /**
     * 自定义失败二
     */
    public static <T> ServerResult<T> failure(int code, String message){
        return new ServerResult<T>(false, code, message);
    }

    public T getData() {
        return data;
    }

    public ServerResult<T> data(T data) {
        this.data = data;
        return this;
    }

    public boolean isSuccess() {
        return success;
    }

    public ServerResult<T> sucess(boolean success) {
        this.success = success;
        return this;
    }

    public int getCode() {
        return code;
    }


    public ServerResult<T> code(int code) {
        this.code = code;
        return this;
    }

    public String getMessage() {
        return message;
    }

    public ServerResult<T> message(String message) {
        this.message = message;
        return this;
    }

}
private ServerResult<Long> test() {
        Long data = 1L;
        /**
         * 方式一:创建返回结果实例
         */
        return ServerResult.<Long>newInstance().data(data);
        /**
         * 方式二:使用默认的
         */
        return ServerResult.<Long>failure(data, 20, "msg");
        /**
         * 方式三
         */
        ServerResult<Long> serverResult = ServerResult.newInstance();
        return serverResult.sucess(true).code(200);
    }

猜你喜欢

转载自blog.csdn.net/zhuqiuhui/article/details/86386304
今日推荐