如何优雅的进行接口管理,接口管理工具

Oden 355 2022-07-12


在这前后端分离大行其道的今天,如何优雅的管理接口,对应提高工作效率非常重要。而接口又是由后端提供的,这个任务自然而然的又落在后台开发人员的身上。在这里提供三种常见的接口管理方案,这三种方案没有属谁最优,属谁最差。根据项目的情况而定。

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 性能等自动化测试,集成实现测试用例管理、产品管理、任务计划、测试报告、定 时任务或持续集成等功能模块。使自动化测试的过程达到数据、脚本、任务分离易于维护和管理,成本更低、数据更直观、产出更快等目标,能让不会代码的手工业务测试人员参与后续自动化测试工作等。

接口管理工具

在App开发过程中少不了跟服务端打交道,各种HTTP接口调试、返回数据处理占据了不少开发时间,一款好的接口管理工具就非常有必要了。接口管理工具一方面起到链接后台开发人员和App开发人员的作用,另一方面也可以作为传统的接口文档使用,且比文档的实时性更强。
因为各个团队的情况不太一样,可能对接口管理有不一样的需求,目前有不少接口管理工具,足以覆盖不同团队的需求,下面来简单介绍一下。
1. YApi
https://github.com/YMFE/yapi
YApi是由去哪网前端团队开源的一款接口管理工具,功能强大,可以轻松的自己部署。而且支持使用docker部署,使用成本很低了。
使用docker部署可以参考这篇文章:https://www.jianshu.com/p/a97d2efb23c5
2. Rap2
https://github.com/thx/rap2-delos
Rap2是由阿里妈妈前端团队开源的一款接口管理工具,相对YApi来说,至少文档上面差一些,Github上没有太多介绍,也没提及用docker部署,但也是一个选择吧。
3. eolinker
https://www.eolinker.com/
eolinker是一个接口管理服务网站,如果不想自己部署YApi、Rap2的团队可以使用,免费版的功能对于小型团队来说足够了。
4. Postman
https://www.getpostman.com/
跨平台的管理工具,可以免费使用,支持mock,支持团队协作,免费版本的限制主要在于每个月1000次的限制,包括Mock请求、API请求等等,对于小型团队(3~5人)应该是足够了。
5. Paw
https://paw.cloud/
仅支持Mac平台,可以试用30天,正式版要49.99美元,不是特别推荐使用,毕竟不能跨平台。
以上几个都能满足我们对于接口管理的需求,综合来看,多数团队可以直接使用eolinker提供的服务,Postman也可以,但是考虑到国内的网络情况并不推荐。对于有一定技术实力的团队可以使用YApi、Rap2,自己部署,甚至二次开发满足团队需求。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:视频号,正小步快跑!
下一篇:国家卫健委:17日新增确诊病例11例,均为境外输入病例!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~