不知道各位有没有经历过这种情况,前后端商量好接口后,约定好了字段,突然有一天,后端悄悄改了接口文档,没有及时通知前端,等测试测出bug之后,框,一口大锅甩在你头上。 Bug数量+1

当你去找后端问啥时候修改了,怎么不通知一声,后端大佬说,没有修改啊,不信你去看看文档,我都是按照文档实现的;当然啦,这是极少数的情况,大多数都是后端老哥改了忘了通知你而已

于是我给@clean-js/api-gen添加了diff功能,记录每次文档变更,无论增加,删除,修改接口文档,都会记录下来;不了解@clean-js/api-gen是啥的,可以看看之前的文章,释放生产力 | Yapi,swagger2,swagger3生成请求代码

diff功能

接下来用YAPI在线文档演示一下,除了用YAPI,使用swagger2/3也都一样可以diff

目前有两个接口

image.png

运行api-gen,生成的代码如下
image.png

接下来我们新增一个接口,重新运行api-gen

image.png

在控制台会提示你有部分APIs发生了改变
image.png

之后会生成一个log文件夹,里面按照日期生成log,具体内如下,新增一个接口, method为GET,path 为/api/jym/test

image.png

同理,删除变更也会记录。对比的都是上一次的文档

接下来我们试试变更接口文档,这个是原来的/api/user/{id}接口返回的字段
image.png

我们修改第一个field_1为jym
image.png
然后重新运行api-gen,log日志会把变更的接口以及变更前后的json都记录下来
Parameters Change in response get /api/user/{id}
image.png

这样我们就可以知道哪些接口发生了变化,建议时不时运行一下api-gen,免得接口改变了都不知道

那么问题来了,要是你抓到了后端悄悄改文档,你会怎么办呢?


这个版本除了增加diff功能,还优化了编译速度,开启多进程编译,有兴趣的小伙伴可以在评论区留言,人数多的话下次讲讲node如何开启多进程,提升性能


不容易呀,终于有人star了😭,非常感谢这位帅哥美女
image.png

贴上源码 👉🏻 @clean-js/api-gen

期待宝子们的star⭐️,你的支持就是我最大的动力


lujs
226 声望4 粉丝