接口返回值統一對象

1.接口返回值統一對象,包含返回code,是否成功success,返回信息message,和使用泛型,指定返回值的類型和對應的值

/**
 * rpc調用的返回值
 * 使用泛型,指定返回值的類型和對應的值
 * BaseObject中包含創建時間,最後修改時間,版本號等信息,可無。
 */
public class RemoteResult<T>  extends BaseObject{

    /**
     * 是否成功
     */
    private boolean success;

    /**
     * 結果信息編號,對應字典
     */
    private String resultCode;

    /**
     * 返回的消息
     */
    private String resultMsg;

    /**
     * 返回值,類型爲T
     */
    private T t;

    public RemoteResult() {
    }

    public RemoteResult(boolean success) {
        this.success = success;
    }

    /**
     * 是否成功
     */
    public boolean isSuccess() {
        return success;
    }

    /**
     * 設置是否成功
     */
    public void setSuccess(boolean success) {
        this.success = success;
    }

    /**
     * 結果信息編號,對應字典
     */
    public String getResultCode() {
        return resultCode;
    }

    /**
     * 結果信息編號,對應字典
     */
    public void setResultCode(String resultCode) {
        this.resultCode = resultCode;
    }

    /**
     * 返回的消息
     */
    public String getResultMsg() {
        return resultMsg;
    }

    /**
     * 返回的消息
     */
    public void setResultMsg(String resultMsg) {
        this.resultMsg = resultMsg;
    }

    /**
     * 返回值,類型爲T
     */
    public T getT() {
        return t;
    }

    /**
     * 返回值,類型爲T
     */
    public void setT(T t) {
        this.t = t;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        RemoteResult that = (RemoteResult) o;

        if (success != that.success) return false;
        if (resultCode != null ? !resultCode.equals(that.resultCode) : that.resultCode != null) return false;
        if (t != null ? !t.equals(that.t) : that.t != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = (success ? 1 : 0);
        result = 31 * result + (resultCode != null ? resultCode.hashCode() : 0);
        result = 31 * result + (t != null ? t.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "RemoteResult{" +
                "resultCode='" + resultCode + '\'' +
                ", success=" + success +
                ", t=" + t +
                '}';
    }
}
發佈了41 篇原創文章 · 獲贊 12 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章