![eaff03b9f3a04f9a5f317def9c99878d.png](https://i-blog.csdnimg.cn/blog_migrate/3643a2da93ade12359c31f933a9785b4.png)
一、背景
在分布式、微服务盛行的今天,绝大部分项目都采用的微服务框架,前后端分离方式。前端和后端进行交互,前端按照约定请求URL
路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。
所以统一接口的返回值,保证接口返回值的幂等性很重要,本文主要介绍博主当前使用的结果集。
我的秘籍:分布式+MySQL+微服务+Redis+框架+JVM+性能优化+Spring+并发编程+算法+大厂面试等等shimo.im![d60a1f4afe848397903380976cdde571.png](https://i-blog.csdnimg.cn/blog_migrate/2533090210ae24726c6d1e16d7fea258.png)
二、统一格式设计
2.1 统一结果的一般形式
- 示例:
{
# 是否响应成功
success: true,
# 响应状态码
code: 200,
# 响应数据
data: Object
# 返回错误信息
message: "",
}
2.2 结果类枚举
public enum ResultCodeEnum {
/*** 通用部分 100 - 599***/
// 成功请求
SUCCESS(200, "successful"),
// 重定向
REDIRECT(301, "redirect"),
// 资源未找到
NOT_FOUND(404, "not found"),
// 服务器错误
SERVER_ERROR(500,"server error"),
/*** 这里可以根据不同模块用不同的区级分开错误码,例如: ***/
// 1000~1999 区间表示用户模块错误
// 2000~2999 区间表示订单模块错误
// 3000~3999 区间表示商品模块错误
// 。。。
;
/**
* 响应状态码
*/
private Integer code;
/**
* 响应信息
*/
private String message;
ResultCodeEnum(Integer code, String msg) {
this.code = code;
this.message = msg;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}
code
:响应状态码
一般小伙伴们是在开发的时候需要什么,就添加什么。但是,为了规范,我们应当参考HTTP
请求返回的状态码。
code区间类型含义1**100-199信息服务器接收到请求,需要请求者继续执行操作2**200-299成功请求被成功接收并处理3**300-399重定向需要进一步的操作以完成请求4**400-499客户端错误请求包含语法错误或无法完成请求5**500-599服务器错误服务器在处理的时候发生错误
常见的HTTP
状态码:
200
- 请求成功;301
- 资源(网页等)被永久转移到其它URL
;404
- 请求的资源(网页等ÿ