前端MockServer及API管理平台设计
相信很多人用过阿里的Mock平台:RPM、RPM2
但其功能和易用性还是有待提高,对于业务稳定的中小型公司,建议在开源平台的基础上自研。
先看一下日常研发流程举例:
做一个工作任务管理系统(有UI的情况)
流程如下:
1、产品人员:定功能,定原型
2、设计人员:定UI设计
3、前端和移动端架构:分析功能,整理出接口,然后再和后端一起讨论,就接口名称、字段命名、接口粒度等达成一致意见,形成接口文档v1版本,然后前端或移动端立即在MockServer平台上编写接口的mock实现,并设置丰富的mock数据,mock规则要形成文档。
4、后端架构:分析功能,整理出数据结构设计。
5、前端后端进入到并行开发阶段,同时测试介入,按开发优先级去分析功能,编写测试用例、编写api自动化测试用例。
可见,Mock数据的编写者,通常为前端开发和移动端开发,某些情况下,可能也需要后端开发去写mock数据。
所以,MockServer建议用Java+JavaScript编写,更灵活:
MockerServer由NodeJS服务+Java服务组成,Node前置,相当于一个拦截器,API首先会到Node服务,如果Node上没有匹配的mock规则,则直接调用Java的Mock服务;如果Node匹配了mock规则,则直接返回数据,不再调用Java服务。
一般的规则可以直接在代码里面配置,配置实现不了的复杂mock,可以写代码实现。
注意:
1、前期建设简单起见,MockServer也可以只用NodeJS来实现,后期有其他需求再考虑接入Java。
2、MockServer和API管理结合起来,可以统一为 “API管理平台”。