前端接口审查标准
以下前端接口审查标准,由前端组长编写。
基础评审标准
新增接口用post请求,不是get请求
分页接口
分页接口遵循以下严格的规范。
分页接口必须是get请求
必须统一为get请求,不要乱搞别的请求类型。
该接口不应该是post请求
分页接口请求的页码和页数仅为pageIndex和pageSize
按照规范,仅为pageIndex
和pageSize
,两个名称。
分页接口的pageIndex和pageSize必须设计成必填项
分页接口必须要求前端上传明确的页码和页数。如果前端没有提供页码和页数,那么后端的分页接口应该主动报400错误,要求前端补全分页字段。
提供必填校验的正确接口
未提供参数校验的错误接口
分页列表页返回值必须为PageDTO
必须严格套模板,返回为 PageDTO
,否则数据结构不统一。影响开发进度。
不允许私自新建规范外的变量
分页接口统一的变量仅为 pageIndex
和 pageSize
,不允许新建其他多余的 pageNum。
不允许对规范内的变量改名
返回值必须被JsonVO包裹
常见的业务接口必须满足该规范
任何接口都必须用 JsonVO
泛型包装。否则前端无法得知业务处理吗code的状态。无法得知业务是否是10000,是业务正常还是失败。
其返回值格式必须是code
、message
、data
的格式。
文件接口不需要遵守该规范
比如接口向前端返回文件时,就不需要满足该规范。
字段命名
接口路由命名
一会小驼峰:
小驼峰
一会又是短杆加大驼峰:
短杆加大驼峰
这样的接口路由命名肯定是不合适的,要求他们统一接口命名风格。
变量名应该统一为小驼峰
按照后端规范,其接口的变量名必须为小驼峰,不能直接用下划线划分。
下划线划分的接口
变量名称注释
变量名称注释缺漏,不清楚,语义化不强。
缺漏变量注释
变量只有纯英文注释,等于没有注释
缺漏字段
接口没有提供相应的字段实现功能。比如以下的接口,按照原型是要求上传用户的身份证号的。
原型要求上传身份证号
接口缺漏身份证号
没有提供身份证号字段,无法满足业务需求。
变量没有提供明确的枚举值
比如各种类型变量。比如用户类型、派工类型。
workOrderType
,派工类型。在数据库内存储的值为:
- 1001 按日派工
- 2002 按周派工
- 3003 按月派工
那么后端的注释,就应该包含上述的映射关系。包含【取值-文本】的映射关系。
如果该变量的注释没有提供该映射关系,那么前端在对接字段时,不得不询问后端workOrderType
派工类型的取值是如何映射的,前端如何显示出来。会产生额外的沟通成本
查询信息类的接口必须提供额外的文本字段
继续以workOrderType
派工类型为例子。
比如以下种类的后端接口:
- 分页列表接口
- 根据id查询信息接口
- 查询全部列表接口(下拉列表用)
- 查询某某树的接口
像这一类接口,都必须提供一个额外的字段。用于给前端展示出来。
比如,根据id查询信息接口,按照该要求应该返回以下数据:
{
"workOrderType": "1001",
"workOrderTypeText": "按日派工"
}
比如,分页列表接口,应该返回:
[
{
"someOne": "用户甲",
"workOrderType": "1001",
"workOrderTypeText": "按日派工"
},
{
"someOne": "用户乙",
"workOrderType": "3003",
"workOrderTypeText": "按月派工"
}
]
前端不做文本翻译,整个文本翻译的过程全权交给后端,前端不应该额外地在本地存储一套文本翻译数据。否则容易出现数据更新不及时的错误,给生产环境的业主带来误解,让产品经理容易挨骂。
数据写入类接口不应该接受纯文本
比如上述workOrderType
派工类型字段,以下的类型的接口属于写入写表类的接口:
- 新增接口
- 修改接口
这两类接口属于写表的接口。前端在传递workOrderType
时,不可能也不应该传递中文文本。后端在存储时,也不应该去存储中文文本,应该存储1001、2002、3003这样的值。
不要额外存储中文字段
真正有意义的业务变量,是workOrderType
,不是workOrderTypeText
。workOrderTypeText
是给前端展示用的,后端不应该存储,更不应该在数据库表内新建一个专门的字段来存储该中文文本。
删除接口需要传递的业务id必须是必填项
绝大多数的删除接口,都必须要传递有意义的业务id,并且该业务id必须设置成必填项,且要求校验。
详情
比如以下例子,删除物业公司,只需要传递唯一一个storeId
物业公司ID就行了,其他字段都是多余的。
且该id必须是必填项。前端不能漏传,后端必须主动校验。
业务评审
视情况而定。具体业务具体分析。
apifox的进阶使用
评论接口功能
设置接口状态
根据状态筛选接口
历史教程
以下是上一次项目的参考教程: