如何优雅的进行接口管理,接口管理工具有哪些
在这前后端分离大行其道的今天,如何优雅的管理接口,对应提高工作效率非常重要。而接口又是由后端提供的,这个任务自然而然的又落在后台开发人员的身上。在这里提供三种常见的接口管理方案,这三种方案没有属谁最优,属谁最差。根据项目的情况而定。
0x01:基于文档式的接口管理
基于文档式的接口管理时最传统,也是最常见的接口管理方式。因为一直做些不大不小的项目型项目,所以几乎使用的都是该接口管理方案。文档格式多种多样,常见的文档格式有:
电子表格Execl
电子文档Word
PDF文件
这三种文档格式,用于管理接口,小编使用 Execl 最为顺手。大致模板如下:
接口目录
接口详情
这种方案比较难控制版本,每次修改接口时,都需要同步更新接口文档。否则就造成接口与接口文档不一致。
0x02:内嵌接口服务
把在线接口文档内嵌到应用服务里,最流行的当属 Swagger 框架。Swagger 框架与Spring 框架完美集合,使用非常方便。
Swagger 是一个大型的 AP I开发者的工具框架,该框架提出了一个编写 OpenAPI的规范(命名为 OA S),并且 Swagger 可以跨整个 API 生命周期进行开发,从设计和文档到测试和部署。Swagger 框架有三大核心部分:
提供了一个编写 API 文档的规范 ,称为 OAS ,在规范中明确API的格式和一些编写要素;
提供相关的工具,对 API 文档的编写提供辅助。主要是这么几个项目 Swagger Editor、SwaggerUI、Swagger Codegen、Swagger Inspector;
提供对各种流行语言和框架的集成,例如,集成 SpringMVC 的 springfox 框架;
这种方案只要把 Swagger 集成到项目中,然后按照规范添加相关的注解;启动服务,访问响应地址,就可以看到接口文档 了。但是因为接口文档嵌入到应用服务中,所以生产部署一定要考虑安全问题,防止线上的接口裸奔,被不法人员利用,给公司造成损失。
0x03:独立接口平台
现在越来越多的公司提供开放平台,所以独立接口平台变得越来越常见了。比如,微信公众平台接口文档、微信小程序接口文档。
这种方案有非常多的选择方案。
YApi(去哪儿出品)
仓库地址:
https://github.com/cklwblove/yapi
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。它可以帮助开发者轻松创建、发布、以及维护API。除此之外,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
ShowDoc (收费)
ShowDoc 一个非常适合IT团队的在线 API 文档、技术文档工具。随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供 API,APP 端或者网页前端便可方便调用数据。用 ShowDoc 可以非常方便快速地编写出美观的API文档。
演示地址:
https://www.showdoc.com.cn/demo
RAP / rap2-delos + rap2-dolores(阿里出品)
阿里妈妈前端团队出品的开源接口管理工具 RAP 第二代,RAP 通过 GUI 工具帮助 WEB 工程师更高效的管理接口文档,同时通过分析接口结构自动生成 Mock 数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的 API 数据,RAP 可以做的更多,而我们可以避免更多重复劳动。基于 RAML 的接口定义、文档生成、Mock Server 完成了定义和使用的分离,通过一套规范完成的接口定义,可以用不同的工具得到适应不同API管理系统的输出,有更多的可能性,同时保持了核心定义不变。RAP 较之于 RAML,前者更加集中,所有的定义、文档、mock 都在同一个服务中完成,并且实时生效,方便快捷,如果只考虑方便易用,RAP 是更好的选择,而 RAML 显得更加繁琐,更适合于公开的接口定义,方便在各个系统之间流转。
演示地址:
http://rap2.taobao.org/
仓库地址:
https://github.com/thx/rap2-delos
RAP 目前有两个版本,第一个版本的 RAP 已经被官方废弃了,建议用第二个版本。RAP2 分成了两个包:
rap2-delos:后端数据 API 服务器
rap2-dolores:前端静态资源
autotestplat(测试开发社区出品)
仓库地址:
https://github.com/testdevhome/Autotestplat
Autotestplat是高效、易用、功能强大的 api 自动化测试管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。它可以帮助开发者轻松创建、发布、以及维护API。除此之外,支持一站式自动化测试平台及解决方案,支持 API、AppUI、WebUI 性能等自动化测试,集成实现测试用例管理、产品管理、任务计划、测试报告、定 时任务或持续集成等功能模块。使自动化测试的过程达到数据、脚本、任务分离易于维护和管理,成本更低、数据更直观、产出更快等目标,能让不会代码的手工业务测试人员参与后续自动化测试工作等
接口管理工具有哪些
1、Postman
Postman是被大家所熟知的网页调试Chrome插件,我们常常用它来进行临时的http请求调试。幸运的是,Postman可以将调试过的请求保存到Collection中。形成的Collection就可以作为一份简单有效且支持在线测试的接口文档,使用同一账号登录就可以做到分享和同步。对QA来说,使用Postman进行接口测试和接口文档维护是同一件事情,测试即文档,维护成本也很低。官网:https://www.getpostman.com
2、Swagger
“Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。”简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。Swagger主要包含了以下4个部分:
1. Swagger可以直接嵌入项目中,通过开发时编写注释,自动生成接口文档;
2. Swagger包含了Swagger Editor,它是使用yaml语言的Swagger API的编辑器,支持导出yaml和json格式的接口文件;
3. Swagger包含了Swagger UI,它将Swagger Editor编辑好的接口文档以html的形式展示出来;
4. Swagger支持根据定义的接口导出各种语言的服务端或客户端代码。
官网:https://swagger.io/
3、RAP2
RAP来自阿里巴巴,是一个可视化接口管理工具 通过分析接口结构,使用mock动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率。可以在线使用,也可以选择本地部署。一个GUI的WEB接口管理工具。在RAP中,您可定义接口的URL、请求&响应细节格式等等。通过分析这些数据,RAP提供MOCK服务、测试服务等自动化工具。RAP同时提供大量企业级功能,帮助企业和团队高效的工作。官网:http://rapapi.org/platform/home.do
4、YApi
YApi是由去哪网前端团队开源的一款接口管理工具,功能强大,可以轻松的自己部署。而且支持使用docker部署,使用成本很低了。官网:https://yapi.ymfe.org
5、Eolinker
eolinker是一个接口管理服务网站,如果不想自己部署YApi、Rap2、Swagger等的团队可以使用,免费版的功能对于小型团队来说足够了。官网:https://www.eolinker.com
6、DOClever
可以对接口信息进行编辑管理,支持 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 觉得好东西需要共享出来,你可以新建一个团队,并且把团队内的成员都拉进来,给他们分组,给他们分配相关的项目以及权限,发布团队公告等等。官网: http://doclever.cn
7、Apizza
1.项目管理;2.api分类管理;3.自动保存request 和 response,这个可以为以后自动化测试做准备;4.跨域模拟请求5.自动生成文档这个功能很好用,可以直接把参数分析成文档。最后导出成html文档。官网:http://apizza.cc
8、EasyAPI
接口文档相对简单,不过对于那些喜欢简单接口文档的朋友来说,easyAPI 也不失为一个不错的选择,界面简单明了,配色粉蓝粉蓝很可爱,不过在我试用的过程中,界面好像不是很稳定,有些按钮点击时没有反应,图标时可见时不可见。而且因为接口文档和接口测试不是在一个菜单之下的,两个功能之间的转换有些费力。同时也有回收站,版本管理等功能,总的来说,就是比 eolinker 简单,比 rap 好看。不过接口测试的功能还是挺强大的,左边填数据,右边显示结果,感觉还是挺直观的,如果能支持本地测试就更好啦。官网:https://www.easyapi.com/
9、CrapApi
CrapApi接口管理系统实际上是一个java开源项目。一个由anjularjs+bootstrap+springMVC搭建的免费开源的API接口管理系统(应用接口管理系统)后台开发语言为java,主要技术:anjularjs、bootstrap、springMVC、hibernate、maven Application Programming Interface。演示地址:http://api.crap.cn 或http://api2.crap.cn 账号:super 123456 。系统特点: 系统支持管理员管理、权限控制、角色管理 支持多项目、多模块划分,同时支持私密项目、模块密码访问 支持数据字典管理、支持数据字典密码访问 支持项目错误码管理、支持接口拷贝等功能 支持前端菜单自定义,支持管理员菜单自定义。官网:https://github.com/EhsanTang/CrapApi
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~