对于产品型初创团队的我们,是如何做接口管理的

来源:互联网 发布:众里寻她千百最新域名 编辑:程序博客网 时间:2024/05/16 07:26

今天我想从一个真实的案例来和大家聊聊我们团队是如何在开发过程中做接口管理这一块的。

       我们公司虽然人数将近100了,但是技术团队还算是一个初创团队,主打产品一个互联网驾培app,但是有很多衍生产品,比如给驾校用的驾校管理后台,给客服用的客服管理后台,给我们自己用的运营总后台。我们技术部麻雀虽小五腑俱全,后端,前端,app开发人员应有尽有,所以我们在做系统开发的时候就用了前后端分离开发的模式,前端有专门的h5开发人员和js开发人员组成,h5专门负责编写页面样式,而js开发人员专门负责和后端进行数据交互,这个数据交互的桥梁就是接口,后端人员只要开发接口即可。同时,在我的推广下,后端很多业务从java转变到了轻量级的nodejs,前端从jquery逐渐向组件化,mvvm靠拢,一段时间相互合作分工下来,效率提升很高,虽然有过不少坑,比如cors,首屏渲染效率等,但是都一一踩过,也算收货不少,这些之后都会和大家做详尽的分享。

        首先在工具的选择上,我们使用了SBDoc来作为我们的接口管理平台,因为当初开发它的时候就是为了解决前后端在接口交流问题上的不畅。

  1. 项目启动阶段:

    这个阶段我们首先在SBDoc上面新建一个项目





       建立好项目后,我们会把组里面的成员拉进来,然后分配好不同的权限,后台开发的分配管理员权限,可以增删改查项目接口,而前端开发的分配观察者权限,只能查看和测试接口,不能增删改接口信息。



       每个项目的开发都对应着相应的环境,我们团队的项目有测试环境,对等环境和生产环境三种,每种环境下接口的根url都一样,但是后面接口路径是一样的,在SBDoc里,根url我们称作为BaseUrl,所以我们还需要设置一下BaseUrl


2.项目开发阶段

       首先建立完项目以后,在每一个项目项目下会有两个默认的分组,一个是回收站,用于存放删除的接口信息,一个是未命名的分组,需要你重新命名。


       因为我们团队是前后端分离开发,所以后端开发的任务相对来说还是比较轻的,对于后端开发来说只需要设计好数据库,然后定义好接口文档,开始编码就可以了,使用SBDoc的优势就是实时编写实时预览实时测试,同时支持内网环境。





       在上图中,我们看到了,我们只定义了输入参数,没有定义输出参数,对于开发前期来说,参数可能会经常变化,而且输出不稳定,所以我们在SBDoc里面添加一个功能就是可以根据测试时候输入和输出参数动态的生成接口文档信息。


       这样的话整个接口文档的编写就非常直观简洁,而且很智能,一旦接口在开发中有任何改动,都可以自动的生成新的文档信息。下面是完整的预览界面


       以上只是文档编写功能的冰山一角,SBDoc在文件上传,接口字段加密,Raw数据发送,代码注入等功能上同样也很出色。

       值得一提的是,虽然市面上有不少同类产品,但是他们在调试接口这一块都是基于web本地环境的,所以避免不了要安装插件,不同浏览器的兼容也是一个问题,SBDoc采用的是后端proxy代理模式,所有的接口数据都是通过SBDoc自身的后端进行透明代理,解决了很多其他产品难以解决的问题,同时更强大,更灵活,可配置性更高。

       话说回来,在开发的时候前端往往都会有一个痛点,我们之前每次在前后端分离开发的时候,前端总是要等待后端的接口开发完成才能进行开始前端页面的数据填充,逻辑编写,这样耗费了很多时间精力,有没有办法达到前后端并行开发呢,答案是肯定的,就是mock,什么是mock,就是根据一定的规则生成假数据给前端返回,那么SBDoc也集成了mock的功能,同时更简单,更强大~


       上图就是在接口编辑的时候定好了mock规则,然后每个接口都有一个选项,开发状态,分为开发中和开发完成,而每一个项目也都有自己专属的mock server地址,前端需要做的就是在前端工程里将根url地址改成SBDoc提供给你的mock地址,当你运行工程的时候,SBDoc会在背后判断你请求的每个接口状态 ,如果他是开发中,那么就会返回定义好规则的mock数据,如果是开发完成,那么就会去请求真实的地址返回真实的数据。

3.项目开发完成

       项目开发完成,那么进入的就是测试阶段,人工测试?nonono,SBDoc提供了智能化一体式的自动化测试,根据您的测试需求随意回归,大大减轻了测试成本,目前该功能正在内测中,敬请期待!


       以上介绍的只是我们团队在实践SBDoc的过程中的冰山一角,更多更强大的功能还期待大家的使用。

       接口管理看似简单,实际上里面有很多学问,而我们团队也是伴随着SBDoc的完善一同成长起来,所以我觉得一定也有更多的团队和我们一样需要一个强大简单的管理工具来提升我们的开发效率,减少我们的调试时间,所以我将SBDoc的源码全部开放出来,挂在了github上面,并且提供了非常简单的本地部署方案,欢迎各位多提建议,一同进步!

SBDoc线上地址:http://sbdoc.cn   github地址:https://github.com/sx1989827/SBDoc

0 0