约定
zeal 2020-08-20
# 数据结构
# 对象实体
# 1. 统一返回对象 Result
响应数据:
{
"code": "",
"data": "",
"message": ""
}
1
2
3
4
5
2
3
4
5
响应参数说明:
参数名称 | 说明 | 类型 |
---|---|---|
code | 响应码 | string |
data | 响应内容 | Object |
message | 请求message | string |
# 2. 分页封装对象 PageInfo
响应数据:
{
"pageSize": "",
"currentPage": "",
"total": "",
"records": ""
}
1
2
3
4
5
6
2
3
4
5
6
响应参数说明:
参数名称 | 说明 | 类型 |
---|---|---|
pageSize | 分页size,也就是每页展示条数 | long |
currentPage | 当前页数 | long |
total | 记录总条数 | long |
records | 记录 | list |
为什么要用long类型?
1.贴切mybatis-plus的page方法,无需转换,如丝般顺滑。
2.long也不必如int担心溢出。
# REST风格约定
请求方式说明:
状态码 | 说明 | schema |
---|---|---|
GET | 请求资源 | 主要用于查询操作 |
POST | 创建资源 | 主要用于新增操作 |
PUT | 更新资源 | 主要用于资源的更新 |
DELETE | 删除资源 | 主要用来删除资源 |
# 逻辑处理
# 统一异常
后台约定所有的异常通过@RestControllerAdvice
注解,来实现所有异常统一处理,以下为约定的异常码
code | Message | Description |
---|---|---|
200 | OK | 请求成功 |
400 | FAILED | 请求异常 |
401 | ACCESS_DENIED | 您无权进行此操作 |
403 | FORBIDDEN | 您无权访问该资源 |
404 | NOT_FOUND | 找不到该页面 |
500 | INTERNAL_SERVER_ERROR | 服务器异常 |
502 | BAD_GATEWAY | 网关异常 |
000 | BAD_CREDENTIALS | 用户名或密码不正确 |
001 | USERNAME_NOTFOUND | 该账户不存在 |
002 | ACCOUNT_LOCKED | 该账户被锁定 |
003 | NONCE_EXPIRED | 该账户已失效 |
004 | ACCOUNT_DISABLED | 该账户被禁用 |
005 | TOKEN_EXPIRED | token已过期 |
006 | METHOD_ARGUMENT_NOT_VALID | 参数校验异常 |
007 | TOKEN_VALIDA_NULL | token为空 |
008 | TOKEN_VALIDA_ERROR | token验证错误 |
009 | TOKEN_VALIDA_FAIL | token验证失败 |
010 | REQUEST_FREQUENTLY | 请求频繁 |
# 前端异常页面展示
nuxt
的定义了一套对异常的处理,zealsay
沿用,所以对于nuxt
的相关配置依旧生效,如果你希望自定义异常处理页面,可以修改layouts
目录下的error.vue
文件。