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

本文档介绍了一种RPC服务调用的响应实体类`Response`,该类包含成功标志、结果集、状态码和信息字段。用于表示调用是否成功,并提供了根据标志构造不同结果的方法。此外,还提供了equals、hashCode和toString等方法,方便操作和展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值