以中间代理的形式记录接口的调用与响应,便于发现接口变化以及选择某一历史响应进行Mock,缓解接口变化所带来的影响。
较好的软件开发流程一般是:
- 明确需求,梳理业务
- 制定原型稿,保证需求业务能在原型稿里走通,交互合理。
- 根据原型稿制定界面设计稿,保证界面设计良好,整体风格一致,并与甲方一同评审设计稿
- 根据界面设计稿,前后端共同讨论设计稿,评估开发量,并制定接口定义
- 根据接口定义,前后端并行开发
- 联调测试交付
步骤123属于设计阶段,步骤456属于实施阶段。只要设计阶段是通过了的,那么实施阶段就能保证在合理的时间内实现出来。特别是步骤3,让甲方通过评审设计稿,只要确认了这就是想要的效果,就有明确的交付标准,而不会出现甲方随心所欲大改动导致工作量暴增,而无法在期限里实现。当然也会有些小改动,但合理的小改动并不会增加大量的工作量。使用这样的开发流程,能有效提升开发效率,保证项目可控、按期交付。否则,容易出现“甲方频繁地更改需求”,“界面反复调整”,从而导致后续的开发量不断增加,项目失控。即便是所谓的敏捷开发,不断迭代变化,也是按照123456各个步骤走下来,以保证可控。
然而受限于开发观念的不同、公司的情况(起步阶段无法配置)等诸多因素影响,很多开发团队无法使用这种开发流程提升开发效率,只能使用最原始的,让开发人员不断地调整不断开发,导致在开发阶段接口不断变化,BUG频繁出现,前后端因接口变化而不断扯皮。为了在一定程序上缓解这种情况,诞生了这个中间代理软件以减轻前端开发人员的痛苦,记录接口变化,具体应用场景:
- 后端挂了,所有接口都不行,启动所有接口Mock,返回历史最新的响应。
- 自动提示后端接口响应有变化,或者当怀疑后端的接口有变化导致前端异常,可以查看该接口响应的历史记录、变化对比。
- 发现某个响应更改不合理,可切换到Mock某个历史版本的响应直到后端人员修复完毕。
- 当怀疑是前端请求有变化导致后端响应异常时,可以查看该接口请求的历史记录、变化对比。
根据主要场景需求,得到其主要功能划分:
- 代理转发请求与响应,并进行保存记录。
- 可设置全部或部分接口启动Mock,返回历史记录里最新的响应、或挑某一历史记录进行响应、或自行编写响应。
- 对记录进行变化分析,分析是否有新增字段,字段对应的值的类型是否有变化。
- 可选择某历史请求再次发出请求,得到响应与该历史响应进行对比。
- 合理地删除某些不变化的历史记录以免占用磁盘空间无限增长。