一种好用的接口请求和响应格式规范,基于Google Json Style
简述
- 基于较为流行的谷歌 json 风格 google json style
- 所有字段驼峰命名,接口使用:get post
- get 获取数据
- post 更新数据
- post:请求 body 数据使用 application/json, 不使用 FormData;
- 响应成功,仅返回 data;响应错误,仅返回 error。如果data和error同时出现,则error对象优先。
- HTTP_STATUS 始终200, 如果非 200,则说明出现错误,提示“服务器异常”。
POST 请求:
{
"method": "thread.review.list 可简化",
"params": {
"id": 100,
"type": 1
}
}
接口响应:
正确响应
- 列表响应 items
{
"apiVersion": "2.0",
"method": "thread.review.list",
"data": {
"tableHeader": {
"id": "ID",
"name": "标题"
},
"items": [
{
"id": 10021,
"name": "第一个帖子"
}
],
"pagination": {
"pageIndex": 50,
"totalPages": 10,
"itemsPerPage": 50,
"totalItems": 495,
"currentItemCount": 45
}
}
}
- 详细数据响应 item
{
"apiVersion": "2.0",
"method": "thread.review.detail",
"data": {
"item": {
"id": 10031,
"name": "第一个帖子"
}
}
}
发生错误
{
"apiVersion": "2.0",
"method": "thread.review.list",
"error": {
"code": 400,
"message": "数据异常",
"errors": [
{
"domain": "Calendar",
"reason": "ResourceNotFoundException",
"message": "File Not Found"
}
]
}
}
错误处理
- 响应存在 error 则说明发生错误,error 优先级高于 data
- error.message 始终 toast 提示
- 特殊逻辑处理根据 error.code 进行判断
- HTTP_STATUS 始终200, 如果非 200,则说明出现错误,提示“服务器异常”
- 调用接口成功响应,提示文案由前端处理
- 业务中的特殊逻辑,在 data 返回处理
特殊 error.code 列表
见仁见智
error.code | error.message | 逻辑 | 备注 |
---|---|---|---|
10000100 | 登录失效,请重新登录 | 跳转到登录页 | |
10000101 | - | 刷新页面 | |
10000102 | - | 跳转到指定404页面 |