ApiResponse.java 1.89 KB
package org.nafmii.response;


import java.io.Serializable;

/**
 * @author lvyp
 * @date 2021/4/26
 */
public class ApiResponse <T> implements Serializable {
    private static final long serialVersionUID = 1L;
    public static final int SUCCESS = 0;
    public static final int FAIL = -1;
    public static final int BUSY = -100;
    public static final String SUCCESS_TEXT = "Success";
    public static final String FAIL_TEXT = "Fail";
    public static final String BUSY_TEXT = "Busy";
    private long status;
    private String statusText;
    private T data;

    public ApiResponse()  {
        this.status = 0L;
        this.statusText = "Success";
    }

    public ApiResponse(long status, String statusText, T data) {
        this.status = status;
        this.statusText = statusText;
        this.data = data;
    }
    public ApiResponse(long status, String statusText) {
        this.status = status;
        this.statusText = statusText;
    }

    public ApiResponse(T data) {
            this.status = 0L;
            this.statusText = "Success";
            this.data = data;

    }

    public long getStatus() {
        return this.status;
    }

    public void setStatus(long status) {
        this.status = status;
        if (status == 0L) {
            this.statusText = "Success";
        } else if (status == -100L) {
            this.statusText = "Busy";
        } else {
            this.statusText = "";
        }

    }

    public String getStatusText() {
        return this.statusText;
    }

    public void setStatusText(String statusText) {
        this.statusText = statusText;
    }

    public Object getData() {
        return this.data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public static <M> ApiResponse<M> ok() {
        return new ApiResponse();
    }

    public static <T> ApiResponse<T> ok(T data) {
        return new ApiResponse(data);
    }
}