java搜索结果 通用result类

BaseResult类提供了一个通用的执行结果模型,包括请求唯一ID、操作结果、错误参数、令牌冲突标志、成功标记、操作代码、错误代码、操作消息、动态错误码和动态信息。该类支持多种构造函数,用于创建不同场景下的结果对象。

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


<pre name="code" class="java">类BaseResult.java的实现描述:通用的执行结果



package com.api.result;

import java.io.Serializable;
import java.util.List;

/**
 * 类BaseResult.java的实现描述:通用的执行结果
 * 
 * @author wanglf 2016-3-3 17:24:15
 */
public class Result<T> implements Serializable {
    private static final long serialVersionUID = -2368446516546812379L;

    /**
     * 请求唯一ID
     */
    private String            requestId;

    /**
     * result data
     */
    private T                 data;

    /**
     * 国际化以后前端需要根据code 和 这个param里的动态信息来构成错误信息
     * 
     * @see The Instance {0} is out of date,the endDate is {1} !
     *      ["atx1","2015-01-01"]
     */
    private List<String>      errorParams;

    /**
     * 是否是幂等返回
     */
    private Boolean           tokenConflicted;

    /**
     * 成功标记
     */
    private boolean           success;
    /**
     * 操作结果代码 如:LX_CREATE_ORDER_FAILED ,笼统的错误代码,由于openapi已经在使用,这里的错误码不能轻易改动
     */
    private String            code;

    /**
     * 详细的错误code ,add 的,后续接入的 如果要细化错误code 展示,就使用这个。如:国际化翻译的错误code
     */
    private String            errCode;

    /**
     * 操作消息
     */
    private String            message;

    /**
     * pop调用中的可能使用的动态错误码
     */
    private String            dynamicCode;

    /**
     * pop调用中可能使用的动态信息
     */
    private String            dynamicMessage;

    public Result() {
    }

    public Result(T t, String requestId) {
        setSuccess(true);
        setData(t);
        setRequestId(requestId);
    }

    public Result(T t) {
        setSuccess(true);
        setData(t);
    }

    public Result(boolean isSuccess, T t, String requestId) {
        setSuccess(isSuccess);
        setData(t);
        setRequestId(requestId);
    }

    public Result(boolean isSuccess, String requestId) {
        setSuccess(isSuccess);
        setRequestId(requestId);
    }

    public Result(String code, String message, String requestId) {
        setSuccess(false);
        setCode(code);
        setMessage(message);
        setRequestId(requestId);
    }

    public Result(String code, String message) {
        setSuccess(false);
        setCode(code);
        setMessage(message);
    }

    public Result(boolean isSuccess, String code, String message, T t) {
        setSuccess(isSuccess);
        setCode(code);
        setMessage(message);
        setData(t);
    }

    public Result(boolean isSuccess, String code, String message) {
        setSuccess(isSuccess);
        setCode(code);
        setMessage(message);
    }

    public Result(boolean isSuccess, String message, T t) {
        setSuccess(isSuccess);
        setMessage(message);
        setData(t);
    }

    /**
     * @return Result<T>
     */
    public static <T> Result<T> create() {
        return new Result<T>();
    }

    /**
     * 新增快速创建Result的方法,不用谢我,请叫我雷锋... ^.^ -Shaka create Result<T> Object for
     * successful cases.
     * 
     * @param data result data
     * @return Result<T>
     */
    public static <T> Result<T> create(T data) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        return result;
    }

    /**
     * 接口调用成功时也需要code和message的场景
     * 
     * @param data
     * @param code
     * @param message
     * @return
     */
    public static <T> Result<T> create(T data, String code, String message) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        result.setCode(code);
        result.setMessage(message);
        return result;
    }

    /**
     * 接口调用成功时也需要code和message的场景,添加动态code 和 动态message信息
     * 
     * @param data
     * @param code
     * @param message
     * @param requestId
     * @param dynamicCode
     * @param dynamicMessage
     * @return
     */
    public static <T> Result<T> create(T data, String code, String message, String requestId, String dynamicCode,
                                       String dynamicMessage) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        result.setDynamicCode(dynamicCode);
        result.setDynamicMessage(dynamicMessage);
        return result;
    }

    /**
     * 接口调用成功时也需要code和message的场景
     * 
     * @param data
     * @param code
     * @param message
     * @param requestId
     * @return
     */
    public static <T> Result<T> create(T data, String code, String message, String requestId) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        return result;
    }

    /**
     * create Result<T> Object for unsuccessful cases.
     * 
     * @param code result code
     * @param message result code
     * @return Result<T>
     */
    public static <T> Result<T> create(String code, String message) {
        Result<T> result = Result.create();
        result.setSuccess(false);
        result.setCode(code);
        result.setMessage(message);
        return result;
    }

    /**
     * create Result<T> Object for unsuccessful cases.
     * 
     * @param code result code
     * @param message result code
     * @return Result<T>
     */
    public static <T> Result<T> create(String code, String message, String requestId) {
        Result<T> result = Result.create();
        result.setSuccess(false);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        return result;
    }

    /**
     * create Result<T> Object for unsuccessful cases.
     * 
     * @param code result code
     * @param message result code
     * @return Result<T>
     */
    public static <T> Result<T> create(String code, String message, String requestId, String dynamicMessage) {
        Result<T> result = Result.create();
        result.setSuccess(false);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        result.setDynamicMessage(dynamicMessage);
        return result;
    }

    /**
     * @return the success
     */
    public boolean isSuccess() {
        return success;
    }

    /**
     * @param success the success to set
     */
    public void setSuccess(boolean success) {
        this.success = success;
    }

    /**
     * @return the code
     */
    public String getCode() {
        return code;
    }

    /**
     * @param code the code to set
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * @return the message
     */
    public String getMessage() {
        return message;
    }

    /**
     * @param message the message to set
     */
    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

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

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public List<String> getErrorParams() {
        return errorParams;
    }

    public void setErrorParams(List<String> errorParams) {
        this.errorParams = errorParams;
    }

    public Boolean getTokenConflicted() {
        return tokenConflicted;
    }

    public void setTokenConflicted(Boolean tokenConflicted) {
        this.tokenConflicted = tokenConflicted;
    }

    public String getErrCode() {
        return errCode;
    }

    public void setErrCode(String errCode) {
        this.errCode = errCode;
    }

    public String getDynamicCode() {
        return dynamicCode;
    }

    public void setDynamicCode(String dynamicCode) {
        this.dynamicCode = dynamicCode;
    }

    public String getDynamicMessage() {
        return dynamicMessage;
    }

    public void setDynamicMessage(String dynamicMessage) {
        this.dynamicMessage = dynamicMessage;
    }

    @Override
    public String toString() {
        return "Result [requestId=" + requestId + ", data=" + data + ", errorParams=" + errorParams
                + ", tokenConflicted=" + tokenConflicted + ", success=" + success + ", code=" + code + ", errCode="
                + errCode + ", message=" + message + ", dynamicCode=" + dynamicCode + ", dynamicMessage="
                + dynamicMessage + "]";
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值