首页 > 其他分享 >统一返回结构 ResponseResult

统一返回结构 ResponseResult

时间:2024-03-15 09:55:07浏览次数:17  
标签:返回 ResponseResult static Result ResultEnum message data public 统一

//定义返回数据结构
public interface IResult {
    Integer getCode();
    String getMessage();
}

//常用结果的枚举
public enum ResultEnum implements IResult {
    SUCCESS(2001, "接口调用成功"),
    VALIDATE_FAILED(2002, "参数校验失败"),
    COMMON_FAILED(2003, "接口调用失败"),
    FORBIDDEN(2004, "没有权限访问资源");

    private Integer code;
    private String message;

    //省略get、set方法和构造方法
}

//统一返回数据结构
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    private Integer code;
    private String message;
    private T data;

    public static <T> Result<T> success(T data) {
        return new Result<>(ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMessage(), data);
    }

    public static <T> Result<T> success(String message, T data) {
        return new Result<>(ResultEnum.SUCCESS.getCode(), message, data);
    }

    public static Result<?> failed() {
        return new Result<>(ResultEnum.COMMON_FAILED.getCode(), ResultEnum.COMMON_FAILED.getMessage(), null);
    }

    public static Result<?> failed(String message) {
        return new Result<>(ResultEnum.COMMON_FAILED.getCode(), message, null);
    }

    public static Result<?> failed(IResult errorResult) {
        return new Result<>(errorResult.getCode(), errorResult.getMessage(), null);
    }

    public static <T> Result<T> instance(Integer code, String message, T data) {
        Result<T> result = new Result<>();
        result.setCode(code);
        result.setMessage(message);
        result.setData(data);
        return result;
    }
}

 

标签:返回,ResponseResult,static,Result,ResultEnum,message,data,public,统一
From: https://www.cnblogs.com/w852894903/p/18074761

相关文章

  • 把string转化为int类型,不成功则返回0
    ///<summary>///将字符串数据转换为int数据,如果格式不对则返回0///</summary>///<paramname="str">需要转换的字符串</param>///<returns></returns>publicstaticintString2Int(stringstr......
  • 数字排列 - 华为OD统一考试(C卷)
    OD统一考试(C卷)分值:200分题解:Java/Python/C++题目描述小明负责公司年会,想出一个趣味游戏:屏幕给出1−9中任意4个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第n位置的数字,其中n为给出数字中最大的(如果不到这么多数字则......
  • 素数之积 - 华为OD统一考试(C卷)
    OD统一考试(C卷)分值:100分题解:Java/Python/C++题目描述RSA加密算法只在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整,请对其进行因数分解,找出是哪两个素数的乘积。输入描述一个正整数num(......
  • vivo统一接入网关VUA转发性能优化实践
    作者:vivo互联网服务器团队-QiuXiangcun本文将探讨如何通过使用IntelQuickAssistTechnology(QAT)来优化VUA的HTTPS转发性能。我们将介绍如何使用QAT通过硬件加速来提高HTTPS转发的性能,并探讨QAT在不同应用场景中的表现。最后,我们将讨论如何根据实际情况进行优化,以获得最佳转......
  • 前后端联调-前端返回包含数组导致后端无法接收~解决
    问题:.HttpMessageNotReadableException:JSONparseerror:Cannotdeserializevalueoftype`java.lang.String`fromArrayvalue(token`JsonToken.START_ARRAY`);nestedexceptioniscom.fasterxml.jackson.databind.exc.MismatchedInputException:Cannotdeseriali......
  • 1688中国站获得联系方式 API 返回值
    公共参数名称类型必须描述keyString是免费申请调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认yes,将调用缓存的数据,速度比较快result_typeString否[j......
  • springboot配置多个数据源,导致分页插件失效,返回的total为0
    直接在sqlSessionFactoryBean中指定分页插件packagecom.gs.asset.config;importcom.alibaba.druid.pool.DruidDataSource;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.autoconfigure.SpringBootVFS;importcom.baomidou.mybatis......
  • SqlServer函数大全三十五:DATEDIFF(返回日期和时间的边界数)函数
    在SQLServer中,DATEDIFF 函数用于返回两个日期之间的边界数差异。这个函数可以计算两个日期之间的年、月、日、小时、分钟、秒或周数差异。DATEDIFF 函数的语法如下:sql复制代码DATEDIFF(datepart,startdate,enddate)datepart 是指定要返回日期部分的参数,比如......
  • 《安富莱嵌入式周报》第334期:开源SEM扫描电子显微镜,自制编辑器并搭建嵌入式环境,免费产
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV1om411Z714/目录1、开源SEM扫描电子显微镜,数字图像采集解决方案2、Microchip专家为客户提供免费的产品设计审查服务3、开源植......
  • 华为OD机试真题-模拟目录管理-2024年OD统一考试(C卷)
    题目描述:实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。支持命令: 1)创建目录命令:mkdir目录名称,如mkdirabc为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出。 2)进入目录命令:cd目录名称,如cdabc为进入abc目录,......