-
https协议
-
api专有域名 https://api.example.com
-
将api的版本号放入url中 https://api.example.com/v1
-
url中应使用名词复数,最好与表名统一 https://api.example.com/v1/users
-
请求方式
GET /v1/users 获取所有用户
GET /v1/users/ID 获取某个指定用户的信息
POST /v1/users 新建一个用户
PUT /v1/users/ID 更新某个指定用户的信息
DELETE /v1/users/ID 删除某个用户
GET /v1/users/ID/books 列出某个指定用户的所有书本
GET /v1/users/ID/books/ID 获取某个指定用户的指定书本的信息 -
过滤信息
若记录数量很多,服务器不可能返回全部记录给用户,API提供分页参数及其它筛选参数,过滤返回结果。
/v1/products?page=1&pageSize=20 指定第几页,以及每页的记录数。
/v1/products?sortBy=name&order=asc 指定返回结果按照哪个属性排序,以及排序顺序。 -
传入参数
(1)、cookie
(2)、request header
(3)、请求body数据
(4)、地址栏参数,?params -
响应参数
{
status: 200, // 详见【status】
data: {
code: 1, // 详见【code】
data: {} || [], // 数据
message: '成功', // 存放响应信息提示,显示给客户端用户【须语义化中文提示】
sysMessage: 'success' // 存放响应信息提示,调试使用,中英文都行
... // 其它参数,如 total【总记录数】等
},
msg: '成功', // 存放响应信息提示,显示给客户端用户【须语义化中文提示】
sysMsg: 'success' // 存放响应信息提示,调试使用,中英文都行
}
- 一致性
(1)、前端需要的与接口返回的字段一致
(2)、更新时返回的原始数据参数与提交更新的数据参数结构一致
(3)、时间参数格式一致 - 接口文档
apistar自动生成