快速登陆机器&数据库

本文来自网易云社区。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

相关文章
相关标签/搜索