rpc服务调用和前后端之间返回参数规范

package com.datad.dream.sysInit.entity;

import com.google.common.base.Objects;

import java.io.Serializable;

/**
 * 返回信息Response
 */
public class Response implements Serializable {

    private boolean success; // 表示调用是否成功 ,如果为true,则可以调用getResult,如果为false,则调用errorCode来获取出错信息

    private Object result; // 结果集

    private String statusCode; // 状态码

    private String message; // 信息

    public Response() {
    }

    public Response(Object result) {
        this.success = true;
        this.result = result;
    }

    /**
     * 构造方法,根据flag返回不同结果
     *
     * @param flag   true|false
     * @param result flag=true,则返回result对象,flag=false则返回errorCode
     */
    public Response(boolean flag, Object result) {
        if (flag) {
            this.success = true;
            this.result = result;
        } else {
            this.success = false;
            this.statusCode = (String) result;
        }
    }

    public Response(String statusCode) {
        this.success = false;
        this.statusCode = statusCode;
    }

    public Response(String statusCode, String message) {
        this.statusCode = statusCode;
        this.message = message;
    }

    public boolean isSuccess() {
        return success;
    }

    public Object getResult() {
        return result;
    }

    public void setResult(Object result) {
        success = true;
        this.result = result;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(String statusCode) {
        this.success = false;
        this.statusCode = statusCode;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Response response = (Response) o;
        if (success != response.success) {
            return false;
        }
        if (!statusCode.equals(response.statusCode)) {
            return false;
        }
        if (!result.equals(response.result)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int result1 = (success ? 1 : 0);
        result1 = 31 * result1 + result.hashCode();
        result1 = 31 * result1 + statusCode.hashCode();
        return result1;
    }

    @Override
    public String toString() {
        return Objects.toStringHelper(this).add("success", success).add("result", result).add("statusCode", statusCode)
                .add("message", message).omitNullValues().toString();
    }
}

猜你喜欢

转载自blog.csdn.net/living_and_learning/article/details/80652607