游乐游手机版
首页/编程语言/文章详情

SpringBoot统一返回格式:手把手实现前后端规范交互

时间:2026-07-17 06:56
针对前后端分离项目,提出SpringBoot统一返回结果工具类,包含状态码、提示信息、数据体、时间戳四个核心字段。提供静态方法支持成功与异常响应,简化接口规范,降低联调成本,适配多数Web项目。

在前后端分离开发模式下,统一接口返回格式是实现项目规范化的关键步骤,能有效减少前后端联调中的沟通成本与解析错误。

SpringBoot统一返回格式怎么做?手把手教你实现前后端规范交互

许多初入行的开发者常面临返回格式不一致、状态码混乱、异常信息杂乱等痛点。本文分享一套可直接复用的SpringBoot统一返回结果工具类,适用于绝大多数Web项目,帮助快速实现接口规范化。

一、统一返回格式的字段定义与规范

统一返回结果通常由四个核心字段构成:状态码(code)、提示信息(msg)、数据体(data)和时间戳(timestamp)。清晰的字段设计能让前端解析更加便捷高效。

  • code:自定义业务状态码,例如200表示成功、500表示系统异常、401表示未授权等
  • msg:接口返回的提示信息,用于描述操作结果
  • data:业务返回数据,若无数据则返回null
  • timestamp:接口响应的时间戳,便于追踪请求时间

二、完整的SpringBoot统一返回结果工具类代码

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result
// 状态码
private Integer code;
// 提示信息
private String msg;
// 返回数据
private T data;
// 时间戳
private long timestamp = System.currentTimeMillis();
// 成功无返回数据
public static  Result success() {
    return new Result<>(200, "操作成功", null);
}
// 成功带返回数据
public static  Result success(T data) {
    return new Result<>(200, "操作成功", data);
}
// 失败自定义提示
public static  Result error(String msg) {
    return new Result<>(500, msg, null);
}
// 自定义状态码+提示
public static  Result error(Integer code, String msg) {
    return new Result<>(code, msg, null);
}

三、Controller中的使用示例

@RestController
@RequestMapping(“/user”)
public class UserController {
@GetMapping("/info")
public Result getUserInfo() {
    User user = new User("张三", 22);
    return Result.success(user);
}
}

四、总结与最佳实践

该工具类设计简洁轻量,无冗余代码,支持全局统一返回数据格式。建议配合全局异常处理器使用,效果更佳——在异常发生时调用Result.error()方法,即可返回统一格式的错误信息,前端处理逻辑也因此更加一致。

来源:https://www.jb51.net/program/367314hmu.htm
上一篇Golang微服务中配置Vector实现高性能流式日志搬运 下一篇Qt QEventLoop类使用总结与技巧
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DisplayTag库使用教程详解编程中的基础应用方法
编程语言 · 2026-07-17

DisplayTag库使用教程详解编程中的基础应用方法

DisplayTag是一个开源JSP标签库,用于简化Web页面中表格数据的展示。它通过声明式标签快速构建功能丰富的HTML表格,支持自动分页、多列排序、数据导出及列格式化等核心功能,显著提升开发效率和代码可维护性,适用于早期至中期的JavaWeb项目。

Python并发进程安全管理:启动、监控与协同终止
编程语言 · 2026-07-17

Python并发进程安全管理:启动、监控与协同终止

在Python中通过主进程直接管理并发启动两个外部程序,使用subprocess Popen控制进程,主进程轮询或等待进程2退出后立即终止进程1,避免多进程通信与序列化错误,确保资源清理与同步协调,实现高效且安全的进程管理。

C++实现字符串Huffman压缩算法及位流级高效解压逻辑
编程语言 · 2026-07-17

C++实现字符串Huffman压缩算法及位流级高效解压逻辑

Huffman压缩算法在C++实现中,核心难点在于位流与字节边界的处理。需用位缓冲区手动管理非对齐位序列,记录有效位数;构建Huffman树时注意频次统计以unsignedchar为键,最小堆比较器避免未定义行为;解压时必须边读位边查树,校验padding防止数据损坏。

Composer中文环境PHP扩展缺失解析Panic解决方法
编程语言 · 2026-07-17

Composer中文环境PHP扩展缺失解析Panic解决方法

Composer“解析panic”错误非中文环境问题,而是PHPCLI缺少json、mbstring、openssl、curl等扩展导致崩溃。可用php-r测试函数。Linux macOS需安装扩展并phpenmod启用,Windows需确认php exe路径及DLL文件存在。

如何为Python Tkinter应用更换现代化ttk主题皮肤的详细教程
编程语言 · 2026-07-17

如何为Python Tkinter应用更换现代化ttk主题皮肤的详细教程

推荐使用ttkbootstrap为Tkinter换主题,避免ttkthemes或手动调Style。它通过Window整合样式引擎,支持DPI适配与圆角渲染。迁移时替换导入和控件前缀,动态切换用theme_use(),但建议启动时固定主题。