SpringBoot统一返回格式怎么做?手把手教你实现前后端规范交互
作者:点击创客科技
还在为前后端接口返回格式混乱发愁吗?本文分享一套可直接复用的SpringBoot统一返回结果工具类,规范状态码、提示信息、数据体和时间戳,让你的项目接口返回清晰一致,大幅降低前后端联调成本,实用代码示例即拿即用
在前后端分离项目中,统一接口返回格式是项目规范化的基础,能极大降低前后端联调成本。
很多新手开发会出现返回格式混乱、状态码不统一、异常返回杂乱等问题,本文分享一套可直接复用的SpringBoot统一返回结果工具类,适配绝大多数Web项目。
一、统一返回格式规范
统一包含4个核心字段:状态码、提示信息、数据体、时间戳,结构清晰、前端易解析。
code:自定义业务状态码(200成功、500系统异常、401未授权等)msg:接口返回提示文案data:业务返回数据,无数据时返回nulltimestamp:接口响应时间戳
二、完整工具代码
@Data @NoArgsConstructor @AllArgsConstructor public class Result
// 状态码
private Integer code;
// 提示信息
private String msg;
// 返回数据
private T data;
// 时间戳
private long timestamp = System.currentTimeMillis();
// 成功无返回数据
public static <T> Result<T> success() {
return new Result<>(200, "操作成功", null);
}
// 成功带返回数据
public static <T> Result<T> success(T data) {
return new Result<>(200, "操作成功", data);
}
// 失败自定义提示
public static <T> Result<T> error(String msg) {
return new Result<>(500, msg, null);
}
// 自定义状态码+提示
public static <T> Result<T> error(Integer code, String msg) {
return new Result<>(code, msg, null);
}三、Controller
@RestController
@RequestMapping(“/user”)
public class UserController {
@GetMapping("/info")
public Result<User> getUserInfo() {
User user = new User("张三", 22);
return Result.success(user);
}
}四、总结
该工具类简洁轻量、无冗余代码,支持全局统一返回,可结合全局异常处理器使用,
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
