本文来自网易云社区。html
做者:盛国存api
背景数组
咱们平常在使用ApiDoc维护管理api文档,提升了api文档的总体维护性。但在老旧接口中,补充接口注解无疑是一次繁重的体力劳动。仔细查看,大多数接口的格式 实际上是类似的,那么,是否能够将体力活作的技术一些?浏览器
答案是sure,只须要三步。分析log,构建接口数据,生成APIDoc。数据结构
过程阐述工具
下面以我的开发机器下的某个测试接口为例,阐述整个过程:测试
在实际的业务中可能存在这样的日志(前提是全部的业务日志都是经过同一套标准进行输出的)日志
重点看红框标注的部分。依次为,日志等级、logId、uri、arrRequest/action tpl data。仔细分析,咱们会发现,TRACE模式即为请求,包含全部请求信息。DEBUG模式即为响应,包含全部响应信息。具体数据结构不作赘述。htm
以此为例,根据日志模式、logId、uri、arrRequest、tpl data 等信息能够构建标准的接口请求&返回信息。 blog
须要注意的是:
一、单个日志中可能会存在日志的多个请求,因此要对分析后的日志作数据过滤;
二、若是接口返回数据中存在list,要对list作单一化处理(不然后续的生成的apidoc会存在大量重复字段);
三、日志读取尽可能使用yield(要不大文件会扛不住的);
处理逻辑就不描述了,so easy。
那么添加一个新的apidoc的步骤如今变为:
a、从log.dt解析接口的请求&返回数据;
b、提取uri、method、requestparam、retData等字段;
c、根据接口uri每一个接口只留取一个请求实例;
d、遍历接口返回数据的结构,list数组中只留取一个item实例;
e、根据apidoc的格式拼装数据,按照uri生成独立文件;
f、剪贴至action,并完成字段注释等操做;
其中a-e的操做 能够概述为 打开浏览器器(1s)→刷业务页面(10s)→执行脚本(1s)→复制粘贴(1s)→补充字段注释信息(xxxs)
只须要一个简单的命令
ApiDoc就写好了
再执行一下 apidoc -i xxxx -o xxxx 就大功告成了
总结
现实开发的过程当中,存在着不少重复琐碎的事情,好比维护繁琐的文档,每更新一次代码都须要执行一次apidoc命令,有时候会常常忘记,咱们能够搞一个crontab检测文件夹是否有过改动,有的话就自动执行一次命令,一年能够省下很多时间哩……^_^,平常还有不少相似的事,能够开发一些小工具将偷懒发挥到极致。
网易云免费体验馆,0成本体验20+款云产品!
更多网易研发、产品、运营经验分享请访问网易云社区。
相关文章:
【推荐】 数据迁移的应用场景与解决方案Hamal
【推荐】 数据分析中,用户行为分析最重要的3个点
【推荐】 聊聊WS-Federation