引言

看了很多论坛包括 V2EX 、知乎的讨论,发现前后端主流做的合作方法都是: 1、前后端先商定一份接口文档(如果自动化一点,那么可以写一堆未实现的方法,然后用 swagger 生成文档) 2、接着,前后端并行地开发,后端实现接口,前端依据接口文档进行开发 3、前后端联调

问题

但是,在实际操作的过程中,会出现一些问题: 起草文档阶段往往是非常短暂的。在这个过程中,开发者无法了解系统全貌,自然无法确定完接口列表。随着前端和后端的开发工作的推进,这些忘记的接口、需要修改的接口才逐渐暴露,这会增加前后端沟通的时间成本。 那么,在起草文档阶段,是否有一个系统的方法,来确保最小化这种需要增加、修改的接口数量?

实践

基于上面的想法,走了不少弯路,包括Spring Cloud Contract等技术手段都有试过,后面和做接口管理工具的开发同学讨论才发现自己钻了牛角尖,大项目的接口变更是必不可能减少的。所以换个角度,尝试加上测试驱动,效率提高很多。文艺点来说,与其避免接口变化不如拥抱变化,让变化可控可追踪。 引言-LMLPHP

上图是开发同学那边优化后给到我的前后端合作流程,多了一个测试驱动和Mock。尝试了一下,确实方便很多,通过测试用例的接口也不用再去修改,Mock开发也不用等后端实现接口,代码改了也可以实时同步到API文档里。这里要推荐一下这位开发同学家的API管理工具Eolinker,和Postman用起来比较像,但是管理功能和中文界面都更友好,至少我们小组的前后端用了都觉得不错。 使用地址:www.eolinker.com

03-28 17:07