【Spring Boot笔记】统一返回结果的格式
为什么要统一返回结果的格式?
目前我们做的项目大体都会是前后端分离的。为了使数据使用者(包括但不限于前端工程师)能够更好地处理返回结果,不至于为了处理各式各样的返回数据格式而抓狂,所以我们需要定义一个统一的标准的返回格式。
标准的返回格式需要包含哪几部分?
一个标准的返回格式至少要包含3部分:
- status状态值:本次接口调用返回结果的状态码
- message消息:本次接口调用的结果描述
- data数据:本次接口调用返回的数据
当然也可以按需加入其它扩展值。
返回结果状态码枚举类
@Getter
public enum ResultCode {
SUCCESS("200", "成功"),
INTERNAL_ERROR("500", "服务器内部异常");
private final String code;
private final String msg;
ResultCode(String code, String msg) {
this.code = code;
this.msg = msg;
}
}
统一返回对象
@Data
public class Result<T> implements Serializable {
/**
* 状态码
*/
private String code;
/**
* 返回结果
*/
private T data;
/**
* 返回消息
*/
private String msg;
public static <T> Result<T> success() {
Result<T> result = new Result<>();
result.setCode(ResultCode.SUCCESS.getCode());
return result;
}
public static <T> Result<T> success(T data) {
Result<T> result = new Result<>();
result.setData(data);
result.setCode(ResultCode.SUCCESS.getCode());
return result;
}
public static <T> Result<T> fail() {
Result<T> result = new Result<>();
result.setCode(ResultCode.INTERNAL_ERROR.getCode());
result.setMsg(ResultCode.INTERNAL_ERROR.getMsg());
return result;
}
public static <T> Result<T> fail(ResultCode resultCode) {
Result<T> result = new Result<>();
result.setCode(resultCode.getCode());
result.setMsg(resultCode.getMsg());
return result;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!