项目搭建之统一返回值
自定义枚举类
@Getter
public enum ReturnCodeEnum {/*** 操作失败**/RC999("999","操作XXX失败"),/*** 操作成功**/RC200("200","success"),/*** 服务降级**/RC201("201","服务开启降级保护,请稍后再试!"),/*** 热点参数限流**/RC202("202","热点参数限流,请稍后再试!"),/*** 系统规则不满足**/RC203("203","系统规则不满足要求,请稍后再试!"),/*** 授权规则不通过**/RC204("204","授权规则不通过,请稍后再试!"),/*** access_denied**/RC403("403","无访问权限,请联系管理员授予权限"),/*** access_denied**/RC401("401","匿名用户访问无权限资源时的异常"),RC404("404","404页面找不到的异常"),/*** 服务异常**/RC500("500","系统异常,请稍后重试"),RC375("375","数学运算异常,请稍后重试"),INVALID_TOKEN("2001","访问令牌不合法"),ACCESS_DENIED("2003","没有权限访问该资源"),CLIENT_AUTHENTICATION_FAILED("1001","客户端认证失败"),USERNAME_OR_PASSWORD_ERROR("1002","用户名或密码错误"),BUSINESS_ERROR("1004","业务逻辑异常"),UNSUPPORTED_GRANT_TYPE("1003","不支持的认证模式");/*** 自定义状态码*/private final String code;/*** 自定义描述信息*/private final String message;ReturnCodeEnum(String code, String message) {this.code = code;this.message = message;}/*** 遍历枚举* @param code 状态码* @return ReturnCodeEnum*/public static ReturnCodeEnum getReturnCodeEnum(String code) {for (ReturnCodeEnum element : ReturnCodeEnum.values()) {if (element.getCode().equalsIgnoreCase(code)) {return element;}}return null;}/*** 流式遍历枚举* @param code 状态码* @return ReturnCodeEnum*/public static ReturnCodeEnum getReturnCodeEnumByStream(String code) {return Arrays.stream(ReturnCodeEnum.values()).filter(x -> x.getCode().equalsIgnoreCase(code)).findFirst().orElse(null);}
}
统一定义返回值对象
@Data
@Accessors(chain = true)
public class ResultData<T> {/*** 结果状态 ,具体状态码参见枚举类ReturnCodeEnum*/private String code;/*** 描述信息*/private String message;/*** 数据*/private T data;/*** 当前时间*/private long timestamp ;public ResultData (){this.timestamp = System.currentTimeMillis();}public static <T> ResultData<T> success(T data) {ResultData<T> resultData = new ResultData<>();resultData.setCode(ReturnCodeEnum.RC200.getCode());resultData.setMessage(ReturnCodeEnum.RC200.getMessage());resultData.setData(data);return resultData;}public static <T> ResultData<T> fail(String code, String message) {ResultData<T> resultData = new ResultData<>();resultData.setCode(code);resultData.setMessage(message);resultData.setData(null);return resultData;}}
相关文章:
项目搭建之统一返回值
自定义枚举类 Getter public enum ReturnCodeEnum {/*** 操作失败**/RC999("999","操作XXX失败"),/*** 操作成功**/RC200("200","success"),/*** 服务降级**/RC201("201","服务开启降级保护,请稍后再试!"),/*** …...
嵌入式和 Java 走哪条路?
最近看到一个物联网大三学生的疑问,原话如下: 本人普通本科物联网工程专业,开学大三,现在就很迷茫,不打算考研了,准备直接就业,平时一直在实验室参加飞思卡尔智能车比赛,本来是想走嵌…...
C++ 控制语句(一)
一 顺序结构 程序的基本结构有三种: 顺序结构、分支结构、循环结构 大量的实际问题需要通过各种控制流程来解决。 1.1 顺序结构 1.2 简单语句和复合语句 二 循环 2.1 for循环 语句流程图 注意:使用for语句的灵活性 三 while语句 四 do while语句...
mysql 用户管理-权限表
学习了《mysql5.7安装》,就先再了解下用户管理,先了解下权限表。 MySQL是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定允许 的权限。MySQL用户可以分为普通用户和root用户。root 用户是超级管理员,拥有所有权…...
【Postman如何进行接口测试简单详细操作实例】
1、下载Postman postman下载地址:Download Postman | Get Started for Free 2、安装Postman (1)双击下载好的postman-setup.exe文件,进行安装postman工具 (2)安装完成后,在桌面找到并打开postman软件,输入邮箱和密码进行登录&a…...
docker搭建Project Calico环境
Project Calico 是一个开源的网络和网络安全解决方案,专为容器、虚拟机和本地工作负载设计。它提供了高度可扩展的网络层,支持广泛的容器编排平台,如 Kubernetes、Docker Swarm和OpenStack。Calico 的主要特点包括: 支持多层网络策略,包括基于角色的访问控制(RBAC)。提供网…...
pyecharts操作一
pyecharts 是一个用于生成Echarts图表的Python库。Echarts是百度开源的一个数据可视化JS库,可以生成一些非常酷炫的图表。 环境安装 pip install pyecharts 检查版本 import pyecharts print(pyecharts.version) 2.0.3 柱状图绘制 from pyecharts.charts impor…...
『Apisix进阶篇』动态负载均衡:APISIX的实战演练与策略应用
🚀『Apisix系列文章』探索新一代微服务体系下的API管理新范式与最佳实践 【点击此跳转】 📣读完这篇文章里你能收获到 🎯 掌握APISIX中多种负载均衡策略的原理及其适用场景。📈 学习如何通过APISIX的Admin API和Dashboard进行负…...
【开发篇】十一、GC调优的分析工具
文章目录 1、调优的主要指标2、工具一:jstat3、工具二:Visual VM的插件4、工具三:Prometheus Grafana5、生成GC日志6、工具四:GC Viewer7、工具五:GCeasy GC调优,是为了避免因垃圾回收引起程序性能下降&am…...
SpringCloudConfig 使用git搭建配置中心
一 SpringCloudConfig 配置搭建步骤 1.引入 依赖pom文件 引入 spring-cloud-config-server 是因为已经配置了注册中心 <dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</…...
c#基础-引用类型和值类型的区别
在C#中,数据类型分为两类:值类型和引用类型。 值类型:直接存储数据,分配在栈(Stack)上。常见的值类型包括基本数据类型(int, float, double等),结构体(struct),枚举(enum)等。 引用类型:存储数据的引用和对象,分配在托管堆(Heap)上。常见的引用类型包括类(cla…...
面试题-3.20
1、__FILE__表示什么意思? __FILE__:当前文件的完整路径和文件名 __LINE__:当前行 __DIR__:当前文件所在的目录 2、如何获取客户端的IP地址? 通过超全局数组$_SERVER:echo $_SERVER[REMOTE_PORT]; 3、写…...
glibc内存管理ptmalloc - 多线程内存管理
上图 此图着重描述的是子线程,一个heap(由heap_info结构体描述)用完,需要另一个的情况。 子线程内存特点 1. 第一个heap物理内存上从低地址到高地址依次是:heap_infomalloc_state(arena)chunks /* arena.c #0 new_…...
区块链食品溯源案例实现(一)
引言: 食品安全问题一直是社会关注的热点,而食品溯源作为解决食品安全问题的重要手段,其重要性不言而喻。传统的食品溯源系统往往存在数据易被篡改、信息不透明等问题,而区块链技术的引入,为食品溯源带来了革命性的变革…...
4S店车辆管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)
本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. 管…...
SpringBoot+Prometheus+Grafana实现应用监控和报警
一、背景 SpringBoot的应用监控方案比较多,SpringBootPrometheusGrafana是目前比较常用的方案之一。它们三者之间的关系大概如下图: 关系图 二、开发SpringBoot应用 首先,创建一个SpringBoot项目,pom文件如下: <…...
10 - Debian如何让特定用户切换root身份
作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何让特定用户切换root身份 《傅老师Debian小知识库系列之10》——原创 前言 傅老师Debian小知识库特点: 1、最小化拆解Debian实用技能…...
HPT发布HyperGAI 多模态大模型:性能领先GPT-4V,全面胜过Gemini Pro
前言 HyperGAI研究团队自豪地宣布推出HPT——新一代领先的多模态大型语言模型(Multimodal Large Language Model, Multimodal LLM)。作为人工通用智能(Artificial General Intelligence, AGI)构建的基石,HPT跨入多模态…...
汇春科技之MDT10F684
目录 第一、时钟 第二,定时器Timer0 第三,pwm 汇春官网:汇春科技 (yspringtech.com) 汇春是麦肯的原厂,以下是两个论坛,其中都有关于麦肯单片机的学习论坛,可以参考学习,第一个叫英锐恩&…...
【Vue3笔记01】如何使用Vue3和Vite搭建前端项目的基础开发环境
这篇文章,主要介绍如何使用Vue3和Vite搭建前端项目的基础开发环境【知识星球】。 目录 一、搭建项目环境 1.1、前提条件 1.2、开始搭建 1.3、下载依赖...
MySQL 事务机制深度解析:从 ACID 到底层实现
MySQL 事务机制深度解析:从 ACID 到底层实现 MySQL 的事务机制主要由 InnoDB 存储引擎 实现,核心围绕 ACID 四大特性,通过 日志系统(redo log、undo log)、锁机制 和 MVCC(多版本并发控制) 共同…...
3个核心功能:从效率瓶颈到资源整合的高效管理与智能处理指南
3个核心功能:从效率瓶颈到资源整合的高效管理与智能处理指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 一、核心价值解析:短视频下载工具的技术突破与应用价值 1.1 多平台适配能…...
PTA L1-064 AI核心代码:从‘估值一亿’到‘精准实现’的避坑指南
1. 这道题为什么值"一亿"? PTA L1-064被戏称为"估值一亿"的题目,主要因为它在字符串处理中埋了多个隐蔽的坑点。我第一次做这道题时,看着题目要求觉得规则很明确,不就是几个字符串替换吗?结果提交…...
Skytraq NavIC库:Arduino平台的GNSS驱动与区域增强开发指南
1. Skytraq NavIC 库概述Skytraq NavIC 库是一个面向 Arduino 平台的完整 GNSS 驱动框架,专为基于 Skytraq 芯片组(如 SGR-03、SGR-05、SGR-07 系列)的高精度定位模块设计。该库不仅全面支持全球主流卫星导航系统,更深度适配印度区…...
如何快速搭建QQ机器人?LuckyLilliaBot入门指南
如何快速搭建QQ机器人?LuckyLilliaBot入门指南 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在数字化时代,QQ机器人开发已成为自动化交互的重要工具。LuckyLilliaBot作为N…...
计算机毕业设计springboot校园互助平台 基于SpringBoot的高校学生互助服务系统 SpringBoot框架下的校园协同帮助平台
计算机毕业设计springboot校园互助平台3m6f99 (配套有源码 程序 mysql数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联xi 可分享近年来,随着互联网技术的蓬勃发展和智慧校园建设的深入推进,高校学生对于便…...
一文搞懂训练大模型的数据怎么准备!
谈到大模型,很多人第一反应都是模型参数大、算力强,但其实数据才是大模型真正的底座。没有足够大、足够干净的数据,再先进的模型也发挥不出威力。今天就从数据层面,把大模型训练的几个关键环节梳理清楚。 数据采集与清洗 大模型训…...
终极指南:用EdgeRemover快速彻底卸载微软Edge浏览器
终极指南:用EdgeRemover快速彻底卸载微软Edge浏览器 【免费下载链接】EdgeRemover PowerShell script to remove Microsoft Edge in a non-forceful manner. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover 还在为Windows系统中无法彻底移除Micro…...
Adafruit DPS310传感器驱动库深度解析与嵌入式实践
1. Adafruit DPS310 压力传感器驱动库深度解析与工程实践 1.1 项目定位与硬件基础 Adafruit DPS310 是一款高精度、低功耗的数字气压/温度传感器,基于 Infineon(原 Bosch Sensortec)DPS310 芯片设计。该芯片采用 MEMS 技术,集成…...
深度解析ViGEmBus:Windows虚拟游戏手柄驱动实战指南
深度解析ViGEmBus:Windows虚拟游戏手柄驱动实战指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款专业的Windows内核模式驱动&a…...
