当前位置: 首页 > news >正文

自定义通用返回对象

目的:给返回对象补充一些信息,告诉前端这个请求在业务层面上是成功还是失败,以及具体的描述信息。

我们需要自定义错误码(因为前端的HTTP状态码默认的值比较少)和正常错误返回类。

ErrorCode :

package com.heo.ezyuserbackend.common;public enum ErrorCode {SUCCESS(0, "ok", ""),PARAMS_ERROR(40000, "请求参数错误", ""),NULL_ERROR(40001, "请求参数为空", ""),NOT_LOGIN(40100, "未登录", ""),NO_AUTH(40101, "无权限", ""),SYSTEM_ERROR(50000,"系统内部异常","");private final int code;/*** 状态码信息*/private  final String message;public int getCode() {return code;}public String getMessage() {return message;}public String getDescription() {return description;}/*** 状态码描述(详情)*/private final String description;ErrorCode(int code, String message, String description) {this.code = code;this.message = message;this.description = description;}
}

BaseResponse:

package com.heo.ezyuserbackend.common;import lombok.Data;import java.io.Serializable;/*** 通用返回类** @param <T>*/
@Data
public class BaseResponse<T> implements Serializable {private int code;private T data;private String message;private String description;public BaseResponse(int code, T data, String message, String description) {this.code = code;this.data = data;this.message = message;this.description = description;}public BaseResponse(int code, T data,String message) {this(code, data, message,"");}public BaseResponse(int code, T data) {this(code, data, "", "");}public BaseResponse(ErrorCode errorCode) {this(errorCode.getCode(), null, errorCode.getMessage(), errorCode.getDescription());}
}

ResultUtil :

package com.heo.ezyuserbackend.common;import com.fasterxml.jackson.databind.ser.Serializers;/*** 返回工具类*/
public class ResultUtil {/*** 成功** @param data* @param <T>* @return*/public static <T> BaseResponse<T> success(T data) {return new BaseResponse<>(0, data, "ok");}/*** 失败** @param errorCode* @return*/public static <T> BaseResponse<T> error(ErrorCode errorCode) {return new BaseResponse<>(errorCode);}/*** 失败** @param code* @param message* @param description* @param <T>* @return*/public static <T> BaseResponse<T> error(int code, String message, String description) {return new BaseResponse<>(code, null, message, description);}/*** 失败** @param errorCode* @param message* @param description* @param <T>* @return*/public static <T> BaseResponse<T> error(ErrorCode errorCode, String message, String description) {return new BaseResponse<>(errorCode.getCode(), null, message, description);}/*** 失败** @param errorCode* @param description* @return*/public static BaseResponse error(ErrorCode errorCode, String description) {return new BaseResponse<>(errorCode.getCode(), errorCode.getMessage(), description);}
}

相关文章:

自定义通用返回对象

目的&#xff1a;给返回对象补充一些信息&#xff0c;告诉前端这个请求在业务层面上是成功还是失败&#xff0c;以及具体的描述信息。 我们需要自定义错误码&#xff08;因为前端的HTTP状态码默认的值比较少&#xff09;和正常错误返回类。 ErrorCode &#xff1a; package …...

从0开始python学习-51.pytest之接口加密封装

目录 MD5加密 base64加密 rsa加密 MD5加密 1. 封装加密方法 def md5_encode(self,data):data str(data).encode("utf-8")md5_data hashlib.md5(data).hexdigest()return md5_data 2. 写入需要使用加密的接口yaml用例 -request:method: posturl: http://192.168.…...

c++的命名空间

命名空间 一.c的关键字二.命名空间2.1 命名空间定义2.1 命名空间的使用2.1.1加命名空间名称及作用域限定符2.1.2使用using将命名空间中某个成员引入 三.标准命名空间std 一.c的关键字 c中一共有63个关键字 关键字11111asmdoifreturntrycontinueautodoubleinlineshorttypedeff…...

阿富汗塔利班兴起时的比赛代码3475:练85.3 删数问题(Noip1994)

【题目描述】 输入一个高精度的正整数n&#xfffd;&#xff0c;去掉其中任意s&#xfffd;个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的n&#xfffd;和s&#xfffd;&#xff0c;寻找一种方案使得剩下的数字组成的新数最小。 输出新的正整数。&#xff0…...

大数据平台红蓝对抗 - 磨利刃,淬精兵!

背景 目前大促备战常见备战工作&#xff1a;专项压测&#xff08;全链路压测、内部压测&#xff09;、灾备演练、降级演练、限流、巡检&#xff08;监控、应用健康度&#xff09;、混沌演练&#xff08;红蓝对抗&#xff09;&#xff0c;如下图所示。随着平台业务越来越复杂&a…...

【2024-01-22】某极验3流程分析-滑块验证码

声明&#xff1a;该专栏涉及的所有案例均为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请私信联系本人删帖&#xff01; 文章目录 一、前言二、抓包流程分析1.刷新页面2.点击按钮进行验证…...

Laya2.13.3接入FGUI

下载与复制文件与Laya1.x类似&#xff0c;可以看我上一篇&#xff1a; Laya1.8.4接入FariyGui&#xff0c;以及其中踩的坑-CSDN博客 不同的是&#xff1a; 两个库文件需要在index.js中引入 新建一个脚本将fgui中搭建好的UI包引入&#xff1a; export default class GameApp…...

短视频账号矩阵系统+无人直播系统源码技术开发

短视频账号矩阵系统无人直播系统源码技术开发涉及到多个领域&#xff0c;包括但不限于前端开发、后端开发、数据库设计、网络通信等。 以下是一些基本技术的步骤和注意事项&#xff1a; 1.技术需求分析设计&#xff1a;首先&#xff0c;需要明确开发短视频账号矩阵系统和无人直…...

C语言或C++通过IShellLinkA创建或解析lnk快捷方式(使用char字符数组)

本例程用到的COM接口有IShellLinkA和IPersistFile。 请注意因为函数参数的类型不为BSTR&#xff0c;所以这两个接口可直接传char *或wchar_t *字符串&#xff0c;不需要提前转化为BSTR类型。 C语言的写法&#xff1a; /* 这个程序只能在C编译器下编译成功, 请确保源文件的扩展…...

Spring源码学习-Spring流程概述(一)

Spring启动的流程 public class Test {public static void main(String[] args) {ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext("applicationContext.xml");Student bean context.getBean(Student.class);context.close();} }调用…...

Figma怎么设置中文,Figma有中文版吗?

不是很多人不想用 Figma&#xff0c;真是因为纯英文界面而头疼。这就是为什么有人会到处搜索 Figma 如何设置中文这样的问题。 然后我们直接快刀斩乱麻&#xff0c;Figma 没有中文版&#xff0c;但是我们还有其他的方法&#xff1a;例如&#xff0c; Figma 添加一个插件来解决…...

智慧文旅一机游:科技与文化的完美结合,引领智慧文旅新潮流,智慧旅游未来已来

一、科技与文化的完美结合&#xff1a;智慧文旅一机游的核心理念 智慧文旅一机游&#xff0c;是科技与文化相融合的产物&#xff0c;它不仅代表着旅游行业的创新与发展&#xff0c;更是一种文化与科技完美结合的生活方式。一机游的核心理念在于通过先进的科技手段&#xff0c;提…...

多维时序 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积长短期记忆神经网络融合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积长短期记忆神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积长短期记忆神经网络融合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资料 效果…...

软件工程实验报告(完整)

博主介绍&#xff1a;✌全网粉丝喜爱、前后端领域优质创作者、本质互联网精神、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战✌有需要可以联系作者我哦&#xff01; &#x1f345;附上相关C语言版源码讲解&#x1f345; &#x1f44…...

Java零基础学习20:集合的练习

编写博客目的&#xff1a;本系列博客均根据B站黑马程序员系列视频学习和编写目的在于记录自己的学习点滴&#xff0c;方便后续回忆和查找相关知识点&#xff0c;不足之处恳请各位有缘的朋友指正。 一、查找id对应的集合索引 package www.itheima;import java.util.ArrayList;…...

【latex】在Overleaf的IEEE会议模板中,快速插入参考文献

【LaTeX】在Overleaf的IEEE会议模板中&#xff0c;快速插入参考文献 写在最前面第一步&#xff1a;在文献检索网站导出引用文献的bib文件第二步&#xff1a;编辑overleaf模版方法二&#xff1a;EduBirdie生成参考文献&#xff08;补充&#xff09;使用LaTeX在Overleaf的IEEE会议…...

java反射之Field用法(获取对象的字段名和属性值)

一、概述 Field是一个类,位于java.lang.reflect包下。在Java反射中Field类描述的是类的属性信息&#xff0c;功能包括&#xff1a; 获取当前对象的成员变量的类型 对成员变量重新设值 二、如何获取Field类对象 getField(String name)&#xff1a; 获取类特定的方法&#xff0c…...

Java Web(三)--CSS

介绍 为什么需要&#xff1a; 在没有 CSS 之前&#xff0c;想要修改 HTML 元素的样式需要为每个 HTML 元素单独定义样式属性&#xff0c;费心费力&#xff1b;CSS 可以让 html 元素(内容) 样式(CSS)分离&#xff0c;提高web 开发的工作效率(针对前端开发)&#xff0c;从而…...

天津大数据培训班推荐,数据分析过程的常见错误

大数据”是近年来IT行业的热词&#xff0c;目前已经广泛应用在各个行业。大数据&#xff0c;又称海量信息&#xff0c;特点是数据量大、种类多、实时性强、数据蕴藏的价值大。大数据是对大量、动态、能持续的数据&#xff0c;通过运用分析、挖掘和整理&#xff0c;实现数据信息…...

【笔记】Helm-3 主题-17 弃用的Kubernetes API

弃用的Kubernetes API Kubernetes是一个API驱动系统&#xff0c;且API会随着时间的推移而变化&#xff0c;以反映对问题理解的不断推移。这是系统及API的普遍做法。API推移的一个重要部分是良好的弃用策略和通知用户更改API是如何实现的。换句话说&#xff0c;您的API使用者需要…...

XC7Z100与GMSL FMC采集卡在自动驾驶视觉系统中的高效集成方案

1. XC7Z100与GMSL FMC采集卡的核心价值 在自动驾驶视觉系统中&#xff0c;图像采集的实时性和可靠性直接决定了系统的性能上限。XC7Z100 FPGA与GMSL FMC采集卡的组合&#xff0c;就像给系统装上了"超清眼睛"和"高速神经"。我曾参与过一个夜间自动驾驶项目&…...

3步解锁抖音无水印下载神器:让内容备份效率提升10倍的完整指南

3步解锁抖音无水印下载神器&#xff1a;让内容备份效率提升10倍的完整指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字内容爆炸的时代&#xff0c;抖音已成为知识传播、文化交流和创意展示的重要平…...

macOS效率工具:Dozer极简菜单栏管理方案

macOS效率工具&#xff1a;Dozer极简菜单栏管理方案 【免费下载链接】Dozer Hide menu bar icons on macOS 项目地址: https://gitcode.com/gh_mirrors/do/Dozer 在现代工作环境中&#xff0c;macOS用户常常面临菜单栏图标过多导致的视觉混乱问题。随着各类应用程序的安…...

93%记忆精度的颠覆性突破:智能记忆系统如何重构AI认知能力

93%记忆精度的颠覆性突破&#xff1a;智能记忆系统如何重构AI认知能力 【免费下载链接】EverOS EverMemOS is an open-source, enterprise-grade intelligent memory system. Our mission is to build AI memory that never forgets, making every conversation built on previ…...

基于麻雀优化算法(SSA)优化shared TCN-Transformer模型超参数,实现时间...

基于麻雀优化算法&#xff08;SSA&#xff09;优化shared TCN-Transformer模型超参数&#xff0c;实现时间序列预测。[1]模型采用共享TCN结构&#xff0c;用于提取Encoder Embedding和Decoder Embedding 的因果特征&#xff0c;在尽可能保证模型复杂度不变的情况下&#xff0c;…...

如何用OB_Template构建你的终极读书笔记系统:Obsidian新手完全指南

如何用OB_Template构建你的终极读书笔记系统&#xff1a;Obsidian新手完全指南 【免费下载链接】OB_Template OB_Templates is a Obsidian reference for note templates focused on new users of the application using only core plugins. 项目地址: https://gitcode.com/g…...

微信群消息监控系统进阶:如何用dataclass优化配置管理并实现热更新

微信群消息监控系统进阶&#xff1a;如何用dataclass优化配置管理并实现热更新 在开发长期运行的微信消息监控系统时&#xff0c;配置管理往往是后期维护的痛点。许多开发者初期会选择简单的字典或JSON文件存储配置&#xff0c;但随着功能迭代&#xff0c;硬编码的配置项、散落…...

数据集成工具深度评测:SeaTunnel 与 DataX、Sqoop、Flume、Flink CDC 在实时场景下的性能较量

1. 实时数据集成工具选型的关键指标 在数据驱动的时代&#xff0c;企业每天需要处理海量实时数据流。选择合适的数据集成工具直接影响业务系统的响应速度和决策效率。我经历过多次数据同步工具选型的痛苦过程&#xff0c;总结出实时场景下最关键的5个评估维度&#xff1a; 首先…...

从零构建:基于C语言的Modbus RTU从站驱动开发指南

1. Modbus RTU从站驱动开发入门指南 第一次接触Modbus RTU从站开发时&#xff0c;我完全被各种专业术语搞晕了。后来在工厂里调试一个温湿度传感器时&#xff0c;才真正理解这个协议的精妙之处——它就像车间里老师傅们约定俗成的对话方式&#xff0c;主设备问一句&#xff0c;…...

AI净界RMBG-1.4快速上手指南:小白也能轻松搞定透明素材

AI净界RMBG-1.4快速上手指南&#xff1a;小白也能轻松搞定透明素材 1. 为什么你需要这个工具 如果你曾经尝试过用传统软件抠图&#xff0c;一定遇到过这些烦恼&#xff1a;发丝边缘总是有残留背景色、半透明物体抠出来像蒙了一层雾、宠物毛发看起来像被啃过一样参差不齐。AI净…...