自从Internet服务开发以来,作为开发者阵营,我们已经在实践中证明了前端和后端分离开发模型正逐渐成为越来越多的Internet公司构建服务和应用程序的一种方式。
前端和后端分离的优点很多。一个重要的优点是,对于后台服务(系统),它只需要提供一个统一的API接口,即可被多个客户端重用,并且分工和协作更加精细。大大提高了效率。目前某些公司接口文档管理方式采用word,wiki及html形式,由于版本迭代较快。随之而来的是
接口文档管理混乱,接口描述不清;
间接导致测试人员测试效率低下,后续问题无法追踪,测试无法保障
资源分散,难以共享,虽然有SVN,git,但由于权限问题,不能及时查看
由于项目较多,接口文档排版各异,查看不便
由此可见接口文档规范是多么的重要,作者推荐市面上常见的几款接口管理平台,仅供参考
1.Swagger
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。它可以方便地和 Spring MVC、Spring Boot等框架进行快速整合,并且通过结合诸如Swagger-UI等组件,将 controller层的方法进行方便地可视化展示,像方法注释,方法参数,方法返回值等都提供了相应的用户界面
项目地址:https://swagger.io
2.YApi
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。它可以帮助开发者轻松创建、发布、以及维护API。除此之外,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
特性:
基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
类似 postman 的接口调试
自动化测试, 支持对 Response 断言
MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
支持 postman, har, swagger 数据导入
免费开源,内网部署,信息再也不怕泄露了
博主有个问题想咨询的时候,特意去加github上面的群,但加群的时候,心中sfowfwfpw,先这样吧
难点:如果需要要执行自动化测试,需要编写脚本,好像比较难,可能是博主太菜了吧(大哭.gif)
github源码地址:https://github.com/YMFE/yapi
部署文档地址:https://hellosean1025.github.io/yapi/documents/index.html
3.eolinker
开箱即用的API研发管理方案,无需繁琐的配置,支持读取代码注解生成API文档,或者是通过UI界面快速创建全面的API文档。通过Mock API、API变更通知、版本管理等服务,让团队更敏捷。
项目地址:https://www.eolinker.com
疑问:github上面源码已经被删除,需要下载源码自己搭建的就不要想了
4.showdoc
一个非常适合IT团队的在线API文档、技术文档工具
项目地址:https://www.showdoc.cc/
5.DOClever
DOClever是一个可视化免费开源的接口管理工具 ,可以分析接口结构,校验接口正确性, 围绕接口定义文档,通过一系列自动化工具提升我们的协作效率。DOClever前后端全部采用了javascript来作为我们的开发语言,前端用的是vue+element UI,后端是express+mongodb,这样的框架集成了高并发,迭代快的特点,保证系统的稳定可靠。
主要特性:
• 可以对接口信息进行编辑管理,支持 get,post,put,delete,patch 五种方法,支持 https 和 https 协议,并且支持 query,body,json,raw,rest,formdata 的参数可视化编辑。同时对 json 可以进行无限层次可视化编辑。并且,状态码,代码注入,markdown 文档等附加功能应有尽有。
• 接口调试运行,可以对参数进行加密,从 md5 到 aes 一应俱全,返回参数与模型实时分析对比,给出不一致的地方,找出接口可能出现的问题。如果你不想手写文档,那么试试接口的数据生成功能,可以对接口运行的数据一键生成文档信息。
• mock 的无缝整合,DOClever 自己就是一个 mock 服务器,当你把接口的开发状态设置成已完成,本地 mock 便会自动请求真实接口数据,否则返回事先定义好的 mock 数据。
• 支持 postman,rap,swagger 的导入,方便你做无缝迁移,同时也支持 html 文件的导出,方便你离线浏览!
• 项目版本和接口快照功能并行,你可以为一个项目定义 1.0,1.1,1.2 版本,并且可以自由的在不同版本间切换回滚,再也不怕接口信息的遗失,同时接口也有快照功能,当你接口开发到一半或者接口需求变更的时候,可以随时查看之前编辑的接口信息。
• 自动化测试功能,目前市面上类似平台的接口自动化测试大部分都是伪自动化,对于一个复杂的场景,比如获取验证码,登陆,获取订单列表,获取某个特定订单详情这样一个上下文关联的一系列操作无能为力。而 DOClever 独创的自动化测试功能,只需要你编写极少量的 javascript 代码便可以在网页里完成这样一系列操作,同时,DOClever 还提供了后台定时批量执行测试用例并把结果发送到团队成员邮箱的功能,你可以及时获取接口的运行状态。
• 团队协作功能,很多类似的平台这样的功能是收费的,但是 DOClever 觉得好东西需要共享出来,你可以新建一个团队,并且把团队内的成员都拉进来,给他们分组,给他们分配相关的项目以及权限,发布团队公告等等。
github源码地址:https://github.com/sx1989827/DOClever
官网地址:http://doclever.cn/controller/index/index.html
帮助文档地址http://doclever.cn/controller/read/read.html#5a532f98b7731a2ba86093b3
6.RAP2
阿里妈妈前端团队出品的开源接口管理工具RAP第二代,RAP通过GUI工具帮助WEB工程师更高效的管理接口文档,同时通过分析接口结构自动生成Mock数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的API数据,RAP可以做的更多,而我们可以避免更多重复劳动。
基于RAML的接口定义、文档生成、Mock Server完成了定义和使用的分离,通过一套规范完成的接口定义,可以用不同的工具得到适应不同API管理系统的输出,有更多的可能性,同时保持了核心定义不变。
RAP较之于RAML,前者更加集中,所有的定义、文档、mock都在同一个服务中完成,并且实时生效,方便快捷,如果只考虑方便易用,RAP是更好的选择,而RAML显得更加繁琐,更适合于公开的接口定义,方便在各个系统之间流转。
github源码地址:https://github.com/thx/rap2-delos
以上信息均整理自互联网