java-spring返回类

news/2024/10/18 1:28:56/

状态码类:

public enum ServiceCode {OK(20000),ERR_BAD_REQUEST(40000),//错误请求ERR_NOT_FOUND(40400),//没有发现ERR_UNAUTHORIZED(40100),//未经授权ERR_UNAUTHORIZED_DISABLED(40110),//未经授权禁止ERR_FORBIDDEN(40300),//被禁止的ERR_CONFLICT(40900),//冲突ERR_INSERT(50000),//插入异常ERR_DELETE(50100),//删除异常ERR_UPDATE(50200),//更新异常ERR_SELECT(50300),//搜索异常ERR_JWT_EXPIRED(60000),//jwt过期ERR_JWT_MALFORMED(60100),//jwt格式不对ERR_JWT_SIGNATURE(60200),//jwl签名错误ERR_UNKNOWN(99999);//未知错误private Integer value;ServiceCode(Integer value) {this.value = value;}public Integer getValue() {return value;}}

返回类:

/*** 统一的响应结果类型*/
@Data  //依赖导入lombok
public class JsonResult<T> implements Serializable {/*** 操作结果的状态码*/@ApiModelProperty("业务状态码")private Integer state;/*** 操作“失败”时响应的提示文本*/@ApiModelProperty("消息")private String message;/*** 操作“成功”时响应的数据*/@ApiModelProperty("数据")private T data; // T=Type, E=Element, K=Key, V=Value。泛型public static JsonResult<Void> ok() {return ok(null);}public static <T> JsonResult<T> ok(T data) {JsonResult jsonResult = new JsonResult();jsonResult.setState(ServiceCode.OK.getValue());jsonResult.setData(data);return jsonResult;}public static JsonResult<Void> fail(ServiceException e) {return fail(e.getServiceCode(), e.getMessage());}public static JsonResult<Void> fail(ServiceCode serviceCode, String message) {JsonResult jsonResult = new JsonResult();jsonResult.setState(serviceCode.getValue());jsonResult.setMessage(message);return jsonResult;}}public static JsonResult<Void> fail(ServiceException e) {return fail(e.getServiceCode(), e.getMessage());}public static JsonResult<Void> fail(ServiceCode serviceCode, String message) {JsonResult jsonResult = new JsonResult();jsonResult.setState(serviceCode.getValue());jsonResult.setMessage(message);return jsonResult;}}

(没有找到数据、不符合业务、查询失败等均抛出异常类,相当于if ···else···中的else情况)异常类:

/*** 业务异常*/
public class ServiceException extends RuntimeException {private ServiceCode serviceCode;public ServiceException(ServiceCode serviceCode, String message) {super(message);this.serviceCode = serviceCode;}public ServiceCode getServiceCode() {return serviceCode;}}

使用:

//成功情况,不带数据,只返回2000状态码public JsonResult<Void> 方法名(参数(可选))               return JsonResult.ok();}//成功情况,带数据.T表示需要返回的数据类型,如:对象、list、string·····public JsonResult<T> 方法名(参数(可选))               return  JsonResult.ok(T)}//错误情况,ServiceCode.状态码。message为字符串
JsonResult<Void> jsonResult = JsonResult.fail(ServiceCode.状态码, message);
return jsonResult;//或者抛异常
throw new ServiceException(ServiceCode.状态码, message);


http://www.ppmy.cn/news/1103803.html

相关文章

python 入门到精通(二)

文章目录 1.布尔数据类型1.1 布尔类型获取1.2 if 函数1.3 if else1.4 多条件判断1.5 判断语句的嵌套2.实战2.1 if函数实战2.2 if else 实战2.3 猜猜心里数字2.4 随机猜测数字1.布尔数据类型 布尔类型. 布尔(bool)表达现实生活中的逻辑,即真和假 True表示真 False表示假。 T…

《TCP/IP网络编程》阅读笔记--Timewait状态和Nagle算法

1--Timewait状态 对于服务器端/客户端&#xff0c;当一端结束连接时&#xff0c;会向另一端发送 FIN 消息&#xff1b;两端的在经过四次挥手过程后&#xff0c;其 Socket 不会马上消除&#xff0c;而是会处于一个 Time-wait 状态的阶段&#xff0c;此时 Socket 拥有的端口号并没…

docker容器详解

Docker容器运行的本质是运行一个进程&#xff0c;该进程在其自己的隔离环境中运行&#xff0c;该环境由Linux内核的特性&#xff08;如cgroups和namespaces&#xff09;提供。Docker 容器存在的意义就是为了运行容器中的应用&#xff0c;对外提供服务&#xff0c;所以启动容器的…

基于Flask+websocket实现一个在线聊天室网站系统

在今天的互联网时代&#xff0c;实时通信成为了许多应用和服务的核心特色。从社交媒体到在线游戏&#xff0c;无处不在的即时互动为用户带来了难以置信的沉浸体验。有了这种背景&#xff0c;为何不深入了解如何构建自己的实时聊天应用呢&#xff1f;在本文中&#xff0c;我们将…

K8s 多集群实践思考和探索

作者&#xff1a;vivo 互联网容器团队 - Zhang Rong 本文主要讲述了一些对于K8s多集群管理的思考&#xff0c;包括为什么需要多集群、多集群的优势以及现有的一些基于Kubernetes衍生出的多集群管理架构实践。 一、为什么需要多集群 随着K8s和云原生技术的快速发展&#xff0c…

《云南省水网建设规划》:数字孪生水网建设列入主要建设任务

《云南省水网建设规划》是水利部印发的规划&#xff0c;是当前和今后一个时期云南水网建设的重要指导性文件&#xff0c;统筹实施六大任务&#xff0c;规划项目9599件&#xff0c;总投资1.85万亿元。 主要建设任务: 数字孪生水网列入云南水网建设规划的主要建设任务。推进数字…

LLMs之Baichuan 2:《Baichuan 2: Open Large-scale Language Models》翻译与解读

LLMs之Baichuan 2&#xff1a;《Baichuan 2: Open Large-scale Language Models》翻译与解读 导读&#xff1a;2023年9月6日&#xff0c;百川智能重磅发布Baichuan 2。科技论文主要介绍了Baichuan 2&#xff0c;一个开源的大规模语言模型&#xff0c;以及其在多个领域的性能表现…

MySQL数据库——存储引擎(1)-MySQL体系结构、存储引擎简介

目录 MySQL体系结构 连接层 服务层 引擎层 存储层 存储引擎简介 概念 语句 演示 下面开始学习进阶篇的第一个内容——存储引擎 分为四点学习&#xff1a; MySQL体系结构存储引擎简介存储引擎特点存储引擎选择 MySQL体系结构 连接层 最上层是一些客户端和链接服务&am…