2022-05-02 一.统一响应码
统一响应码
- 前言
- 统一响应码
- 响应状态
- 响应结果
- 例子
前言
作为后端服务器,返回给前端的数据需要统一格式,一般为:
{code:200,msg: "接口请求成功",data:...
}
为了方便开发,会考虑对返回状态、返回结构体进行封装
统一响应码
响应状态
@Getter
@AllArgsConstructor
public enum ResponseStatus {OK(20000, "操作成功"),ERROE(55555, "操作失败"),FORM_VALID_ERROR(33333, "表单校验失败"),ADMIN_EXIST(33334, "员工已存在"),NOT_IMG(33335, "不是图片"),IMG_TYPE_ERROR(33336, "图片格式不正确"),IMG_TOO_LARGE(33337, "图片太大"),IMG_SIZE_ERROR(33338, "图片尺寸不正确"),UPLOAD_ERROR(33339, "图片上传失败"),UNKOWN_ERROR(50000, "服务器错误"),NO_LOGIN(44444, "未登录"),NO_PERM(44555, "没权限"),RETURN_STRING_ERROR(47777, "返回String类型错误"),;private int status;private String message;public void setStatus(int status) {this.status = status;}public void setMessage(String message) {this.message = message;}
}
响应结果
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResponseResult<T> {private int status;private String message;private T data;private ResponseResult(ResponseStatus responseStatus, T t) {this.status = responseStatus.getStatus();this.message = responseStatus.getMessage();this.data = t;}/*** 成功的方法*/public static <T> ResponseResult<T> success() {return getInstance(ResponseStatus.OK, null);}/*** 成功的方法* 携带数据*/public static <T> ResponseResult<T> success(T t) {return getInstance(ResponseStatus.OK, t);}/*** 失败的方法*/public static <T> ResponseResult<T> error() {return getInstance(ResponseStatus.ERROE, null);}/*自定义失败状态码*/public static <T> ResponseResult<T> error(ResponseStatus responseStatus) {return getInstance(responseStatus, null);}/*** 自定义状态码和数据** @param responseStatus* @param t* @param <T>* @return*/public static <T> ResponseResult<T> error(ResponseStatus responseStatus, T t) {return getInstance(responseStatus, t);}/*** 失败的方法*/public static <T> ResponseResult<T> error(T t) {return getInstance(ResponseStatus.ERROE, t);}private static <T> ResponseResult<T> getInstance(ResponseStatus responseStatus, T t) {return new ResponseResult<T>(responseStatus, t);}
}
例子
@RestController
public class XxxController {@AutowiredXxxService xxxService;@RequestMapping("xxx")public ResponseResult xxx() {return ResponseResult.success(xxxService.xxx());}
}
这样返回的就是自定义格式,当然具体的实现会根据项目进行调整,这些只是大致原理
下一篇跳转:2.全局统一返回处理.
2022-05-02 一.统一响应码相关推荐
- HTTP响应码与HTTP头标
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行. 响应码分五种类型,由它们的第一位数字表示: 1xx:信息,请求收到,继续处理 2xx:成功,行为被成功地接受.理解和采纳 3 ...
- v18.02 鸿蒙内核源码分析(源码结构) | 内核文件各自含义 | 百篇博客分析HarmonyOS源码
子曰:"富而可求也,虽执鞭之士,吾亦为之.如不可求,从吾所好." <论语>:述而篇 百篇博客系列篇.本篇为: v18.xx 鸿蒙内核源码分析(源码结构篇) | 内核文件 ...
- HTTP之原理,长短连接,响应码,三握四挥,八种方法
文章目录 1 HTTP原理 1.1 HTTP协议与TCP/IP协议的关系 1.2 无状态的HTTP协议 2 长短连接详解 2.1 简介 2.2 TCP短连接 2.3 TCP长连接 2.4 长连接短连接 ...
- v62.02 鸿蒙内核源码分析(文件概念) | 为什么说一切皆是文件 | 百篇博客分析OpenHarmony源码
司马牛忧曰:"人皆有兄弟,我独亡."子夏曰:"商闻之矣:死生有命,富贵在天.君子敬而无失,与人恭而有礼.四海之内,皆兄弟也.君子何患乎无兄弟也?" <论语 ...
- SpringCloud采用Jackson序列化统一响应不正当的消息转换器导致的异常问题
SpringCloud采用Jackson序列化统一响应不正当的消息转换器导致的异常问题 环境说明 org.springframework.cloud.spring-cloud-dependencies ...
- 【FastAPI后台API 五】统一响应json数据格式
统一响应json数据格式 本系列博客是配合Vue开发一套后台管理系统,对应的Vue教程见个人博客 https://www.charmcode.cn/ 现在了很多项目,都是前后端分离的项目,所以了前后端 ...
- 基于Spring AOP的统一响应体的实现(注解版)
基于Spring AOP的统一响应体的实现(注解版) 一.前言 在上一篇系列中 我们 统一参数校验,统一结果响应,统一异常处理,统一错误处理,统一日志记录,统一生成api文档, 对于统一数据响应返回规 ...
- springMVC02-SSM整合(Result统一响应数据格式、异常页面修改、SSM整合vue-elementUI小案例、SpringMVC的拦截器Interceptor)
文章目录 今日内容 一.SSM整合[重点] 1 SSM整合配置 问题导入 1.1 SSM整合流程 1.2 SSM整合配置 1.2.1 创建工程,添加依赖和插件 1.2.2 Spring整合Mybati ...
- 硬件大熊原创合集(2022/05更新)
2022/05月份更新的篇章 NFC之华为AIPASS认证:测试系统简介 NFC之华为AIPASS认证:测试用例简介 智能门锁:人脸识别技术 清晰认知事物概念 传统的职业坐标体系中,个体依赖于工作本身 ...
最新文章
- iphone屏幕录制没声音_苹果屏幕录制没有声音?快检查这个功能是否打开
- Spring MVC整合Velocity
- angular模块库开发实例
- int类型的实参与int*类型的形参不兼容_谁告诉的你们Python是强类型语言!站出来,保证不打你!...
- xvid 详解 代码分析 编译等
- javascript编译压缩
- Chrome开发者工具之JavaScript内存分析
- svn版本备份和恢复注意事项
- 飞机游戏跟踪导弹的算法[C#源码]
- python基础--闭包函数和装饰器
- 【竞赛02-a】【题解】第十二届电工杯全国大学生数学建模大赛B题
- 博客搬家工具(服务)详解
- php输入指定文字转换成图片的简单例子
- 华为人均工资高达70万,但先看看华为员工的16项标准
- IMAP4协议介绍nbsp;工作原理
- PHP在线横幅广告店标LOGO制作网站源码
- 《Python安全攻防:渗透测试实战指南》学习一
- 关于拯救者笔记本亮度调节按钮失灵修复方法
- python的self使用
- 拒绝无用功,封装一个通用的 PopupWindow
热门文章
- mysql课设的心得体会_关于数据库课设的感想
- html与css游戏开发工具,html/css/js开发者必备的10款最佳工具
- 升级华为笔记本U盘安装盘
- RedisDesktopManager源码编译windows版(基于2022.1版本)
- Transform 被废弃,ASM 如何适配?
- java数组从小到大_JAVA中给定一个数组,怎么把它里的数从小到大排列输出?
- VESTA的扩胞功能——超晶胞的建立
- N4中Obix服务端
- AI词典笔赛跑下,科大讯飞的技术流超车
- Rust/WinRT更名,全面支持Windows API