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

Spring Boot 接口统一返回值封装,告别杂乱响应格式

在 Spring Boot 项目开发中前端对接接口时最头疼的就是响应格式不统一有的返回 JSON 对象有的返回字符串成功和失败结构完全不同。这不仅增加前端调试成本还让后端代码冗余杂乱。今天教你用 10 分钟实现通用统一返回值封装让接口规范又优雅。一、为什么需要统一返回值标准化响应结构前后端协作零沟通成本统一状态码、提示信息、数据格式便于日志监控简化业务代码无需每个接口手动封装返回结果。二、核心代码实现1. 定义统一返回实体类import lombok.Data; Data public class ResultT { // 响应状态码200成功500失败 private Integer code; // 提示信息 private String msg; // 响应数据 private T data; // 成功响应 public static T ResultT success(T data) { ResultT result new Result(); result.setCode(200); result.setMsg(操作成功); result.setData(data); return result; } // 失败响应 public static T ResultT fail(String msg) { ResultT result new Result(); result.setCode(500); result.setMsg(msg); result.setData(null); return result; } }2. 控制器使用示例import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController RequestMapping(/user) public class UserController { // 查询用户 GetMapping(/{id}) public ResultString getUser(PathVariable Integer id) { if (id 1) { return Result.success(张三25岁Java开发); } return Result.fail(用户不存在); } }三、效果演示成功响应{code:200,msg:操作成功,data:张三25岁Java开发}失败响应{code:500,msg:用户不存在,data:null}四、总结统一返回值是 Spring Boot 项目的基础标配几行代码就能解决协作痛点。配合全局异常处理能让整个项目的接口规范度直接拉满无论是团队开发还是个人项目都强烈建议使用。
http://www.zskr.cn/news/1397998.html

相关文章:

  • NPS调研合作伙伴
  • Go语言邮件服务:SMTP发送
  • Go语言短信服务:多渠道发送
  • 别再直接让 AI 生成测试用例了:用 Superpowers 做需求分析的 5 步实操
  • 2026年AI Agent技术生态开源项目合集
  • 基于BERT-BiGRU与心理学量表从旅游评论中识别用户新奇寻求人格
  • Tableau同比环比实战:从基础表计算到动态参数化对比
  • Simscape进阶实战:构建三维碰撞仿真模型解析小球与斜面的动力学交互
  • Blender模型导出Unity前必做的7步检查清单(附FBX导出避坑指南)
  • 【Java-Day03】判断 / 选择 / 循环语句
  • 基于LSTM的边缘计算资源预测与自适应调度实战
  • 智能驾驶的“眼睛”与“大脑”:环境感知系统深度解析与实战指南
  • 别再为批次效应头疼了!手把手教你用scVI整合10x Genomics单细胞数据(附完整Python代码)
  • LAYN算法解析:基于YOLOv8的轻量化小目标检测方案
  • Lovable招聘系统搭建资源包限时开放:含Terraform部署脚本、候选人漏斗埋点规范、HR SSO集成文档(仅限前200名技术负责人领取)
  • 别再瞎调了!Unity Canvas Scaler三种模式实战对比,附可运行测试项目
  • 如何快速优化鸣潮游戏体验:免费开源工具箱的完整指南
  • 基于SSM的个性化商铺系统(10113)
  • Houdini程序化道路踩坑实录:从曲线相交到UE插件兼容,这些坑我都帮你填了
  • 运维开发宝典013-逻辑卷管理LVM
  • 嵌入式C语言中断函数静态化设计与优化实践
  • 多IMU扩展卡尔曼滤波在足式机器人状态估计中的应用
  • 2026婚宴定制玻璃酒瓶:泸州玻璃酒瓶公司、泸州玻璃酒瓶厂、泸州玻璃酒瓶定制、玻璃酒瓶公司哪家好、玻璃酒瓶公司哪里有选择指南 - 优质品牌商家
  • 网文书名设计的技术分析:3秒决策心理与用户行为数据
  • 混合智能在法律NLP中的应用:基于BERT与规则推理的泰国财产犯罪法条分析
  • 2026年近期山东有名的平面研磨抛光机销售厂家盘点:邢台欧邦机械制造有限公司深度解析 - 2026年企业资讯
  • 腿足机器人运动控制:混合动力学与迭代学习实践
  • Django 从 0 到 1 打造完整电商平台:Django 日志与异常处理
  • 从Petrel到GeoMap 4.0:搞懂Zmap+等值线数据格式的‘前世今生’与转换核心逻辑
  • 保姆级教程:在Ubuntu 22.04上从零编译WRF4.3和WPS(含依赖库完整配置)