接口规范用来约束接口的一致性。一堆不统一的接口,不利于前后端代码复用,增加前后端接口联调成本,降低开发效率。
下面是我们团队的接口规范。
为确保数据交互安全,正式地址用HTTPS协议。
api
开始。如 /api/student/list
-
。说明: 如果严格的按照HTTP方法的语义,新增接口应该用 PUT,删除接口应该用 DELETE。我们团队认为新增,删除接口均用 POST,易于记忆。这个细节,对整体的代码质量也没有影响。
x-www-form-urlencoded
格式。Bearer token值
。返回json
类型数据。如
{
"errorCode": 0,
"errorMsg": "",
"data": {}// 或 []
}
说明:
以 list
结尾。 如: /api/goods/list
。
GET。
筛选条件: where。where 的值是 encodeURIComponent(JSON.stringify({列名1: 值, 列名2: 值, ...}))
。如: 筛选年龄(age)为20的学生,url 是 /api/student/list?where=%7B%22age%22%3A20%7D
。
列的筛选规则:
列名
。列名__like
。列名__gt
。 用于数字和日期的列。列名__gte
。列名__lt
。列名__lte
。如: /api/student/list?pageAt=2&pageLimit=10
。
如果不传分页参数,默认返回第一页的10条数据。
排序信息: order。order的值为: encodeURIComponent(JSON.stringify([{列名1: "asc(升序) 或 desc(降序)"}]))
。
支持多个排序值。
{
"errorCode": 0,
"errorMsg": "",
"data": [],
"pager": {
"pageAt": 1,// 当前页
"total": 21// 总条数
}
}
以 detail/:id
结尾。 如: /api/goods/detail/3
。
GET。
{
"errorCode": 0,
"errorMsg": "",
"data": {
"id": 1,
// 更多字段
}
}
以 add
结尾。 如: /api/goods/add
。
POST。
{
"errorCode": 0,
"errorMsg": "",
"data": {
"id": 1,
}
}
data中的id为新增成功的数据的id。
以 edit/:id
结尾。如: /api/goods/edit/3
。
POST。
{
"errorCode": 0,
"errorMsg": "",
"data": {}
}
以 del/:id
结尾。如: /api/goods/del/3
。
POST。
{
"errorCode": 0,
"errorMsg": "",
"data": {}
}
以 audit/:id
结尾。如: /api/goods/audit/3
。
POST。
{
"errorCode": 0,
"errorMsg": "",
"data": {}
}