上QQ阅读APP看书,第一时间看更新
1.2 联调加速
高效的联调是基于前后端开发人员有效的约定来达成的,也就是说,在开发前,前后端开发人员应提前对所需要的接口进行沟通和设计。发送哪些参数,以及参数的具体结构一般是由后端开发人员决定的,因为他们是最终接收并使用这些数据的人。后端返回的响应数据的构成一般需要由前端开发人员来决定,如果不对细节进行约定,那么很多后端开发人员都会直接在响应体中返回一个需求数据的超集,然后让前端开发人员自己去筛选和重组数据。随着接口数量的增多和业务逻辑的日益复杂,前端的代码中会混入越来越多的对数据进行二次加工的逻辑,如果没有相应的代码规范约束,整个前端代码的可维护性很快就会变得非常糟糕。
前后端开发人员对接口细节的协定并不是一件多么复杂的事情,但是许多团队都做不好。需要说明的一点是,接口的开发协定并不是“银弹”,即使开发之初前后端已经进行了详细的约定,但是在过程中还是有可能会出现各种各样的问题,及时沟通反馈才是问题的解决之道,开发协作中并非不允许出现偏离约定的事情,但是绝对不能等到最后一刻才告诉对方某个事物与最初的设计不一致。对接口的细节进行基本的约定之后,前端开发人员就可以在开发中为自己提供虚拟数据了。前端发送请求的代码可以在本地开发阶段一次性写好,联调的时候只需要简单修改一下请求的地址就可以了,因为测试数据与后端开发的真实接口所返回的数据在数据结构和使用的字段名上都是一致的,这样做无疑会大大提升前端开发人员的工作效率,当然,请求地址的变更也可以借助打包工具以参数的形式从代码外部注入。1.3节就来详细讲解如何使用Mock.js生成指定结构的数据。