如何优雅的进行接口管理

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

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


0x01:基于文档式的接口管理


基于文档式的接口管理时最传统,也是最常见的接口管理方式。因为一直做些不大不小的项目型项目,所以几乎使用的都是该接口管理方案。文档格式多种多样,常见的文档格式有:


  • 电子表格Execl


  • 电子文档Word


  • PDF文件


这三种文档格式,用于管理接口,小编使用 Execl 最为顺手。大致模板如下:


接口目录


微信图片_20220502095617.png


接口详情


微信图片_20220502095620.png


这种方案比较难控制版本,每次修改接口时,都需要同步更新接口文档。否则就造成接口与接口文档不一致。


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 框架;


微信图片_20220502095624.png


这种方案只要把 Swagger 集成到项目中,然后按照规范添加相关的注解;启动服务,访问响应地址,就可以看到接口文档 了。但是因为接口文档嵌入到应用服务中,所以生产部署一定要考虑安全问题,防止线上的接口裸奔,被不法人员利用,给公司造成损失。


0x03:独立接口平台


现在越来越多的公司提供开放平台,所以独立接口平台变得越来越常见了。比如,微信公众平台接口文档、微信小程序接口文档。


微信图片_20220502095628.png


这种方案有非常多的选择方案。


  • YApi(去哪儿出品)


仓库地址:


https://github.com/cklwblove/yapi


YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。它可以帮助开发者轻松创建、发布、以及维护API。除此之外,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。


  • ShowDoc (收费)


ShowDoc 一个非常适合IT团队的在线 API 文档、技术文档工具。随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供 API,APP 端或者网页前端便可方便调用数据。用 ShowDoc 可以非常方便快速地编写出美观的API文档。


微信图片_20220502095633.png


演示地址:


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 显得更加繁琐,更适合于公开的接口定义,方便在各个系统之间流转。


微信图片_20220502095640.png


演示地址:


http://rap2.taobao.org/


仓库地址:


https://github.com/thx/rap2-delos


RAP 目前有两个版本,第一个版本的 RAP 已经被官方废弃了,建议用第二个版本。


RAP2 分成了两个包:


  • rap2-delos:后端数据 API 服务器


  • rap2-dolores:前端静态资源
相关文章
|
数据采集 SQL 运维
巧用指标平台DataIndex,五步法轻松实现指标管理
在业务发展初期,企业需要做好规范的指标管理,以保证随着业务的不断发展,数据化决策能够成为业务强有力的支撑。本文将为大家详解如何通过袋鼠云指标管理平台DataIndex 进行规范化的指标开发管理,轻松开发指标,避免各类指标问题。
1466 0
|
Java 数据库连接 数据库
探究Java中的MyBatis Plus注解 @TableField:灵活处理字段映射与自动填充
在数据库操作中,字段映射和字段填充是开发者经常需要处理的问题。MyBatis Plus作为一款优秀的ORM框架,提供了注解 `@TableField`,能够帮助开发者更加灵活地处理字段映射,以及在特定场景下实现自动填充功能。本文将深入探讨 `@TableField` 注解的用法及其在持久层开发中的应用。
5545 1
|
JavaScript 关系型数据库 测试技术
接口文档管理神器RAP2安装和部署
一 RAP2 RAP2是在RAP1基础上重做的新项目,它包含两个组件(对应两个Github Repository)。 rap2-delos: 后端数据API服务器,基于Koa + MySQLlink rap2-dolores: 前端静态资源,基于React link 什么是RAP? rap是一款API 文档管理工具,在 RAP 中,可以定义接口的 URL、请求 & 响应细节格式等等。
13555 0
|
9月前
|
运维 监控 数据安全/隐私保护
HTTPS 证书自动化运维:HTTPS 证书管理系统之使用指南
本文详细介绍【灵燕空间HTTPS证书管理系统】(https://www.lingyanspace.com)的配置与使用,涵盖注册账户、邮箱配置及证书自动签发、监控和部署的一体化指南。通过页面顶部菜单的【视频教程】和【图文教程】,帮助用户从注册到实际应用全面掌握系统操作。最新迭代后,泛域名证书已包含根域名,无需额外申请多域名证书。
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
2965 0
【规范】Git分支管理,看看我司是咋整的
|
SQL JSON 自然语言处理
数仓建模—建模工具PdMan
工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。
2383 0
数仓建模—建模工具PdMan
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
247 1
|
人工智能 自然语言处理 测试技术
AI协助开发:未来软件工程的变革
在科技飞速发展的今天,人工智能(AI)已成为软件开发领域的变革力量。AI不仅能自动生成与优化代码、提高开发效率及代码质量,还能实现自动化测试、快速定位错误,确保软件的稳定性与可靠性。通过自然语言处理技术,AI简化了需求分析过程;在项目管理上,AI能优化任务分配,提升团队协作效率。尽管AI的应用带来了诸如数据隐私等新挑战,但随着技术的进步,AI将持续深化参与软件开发的各个环节,为开发人员提供强有力的支持,推动行业向前发展。
|
资源调度 前端开发 JavaScript
如何用 Bower 管理前端资源:提升开发效率与项目维护性
【7月更文挑战第2天】**Bower**是基于Node.js的前端包管理器,用于高效管理JavaScript库、CSS和HTML模板等资源。通过安装、配置、搜索、安装、更新及卸载组件,它帮助开发者保持依赖的一致性,提升开发效率。配置`.bowerrc`设定安装目录,`bower.json`记录依赖。遵循最佳实践,如定期更新、锁定版本和清理无用组件,能增强项目维护性。尽管有新工具出现,掌握Bower仍是前端开发基础。
323 0
|
JavaScript
vue项目中统一管理多个后端URL的方法
vue项目中统一管理多个后端URL的方法
339 0