如何优雅的进行接口管理

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

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


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:前端静态资源
相关文章
|
缓存 JavaScript API
深入解析API调用:构建现代应用的数据连接纽带
在今天的应用开发中,API调用是构建现代应用的关键组成部分之一。通过API调用,应用程序可以与外部服务通信,获取数据、发送请求并实现各种功能。本博客将深入研究API调用的核心概念、最佳实践以及如何在应用程序中创建强大的数据连接。
268 0
|
7月前
|
安全 前端开发 NoSQL
如果让你设计一个接口,你会考虑哪些问题?
接口设计需关注参数校验、扩展性、幂等性、日志、线程池隔离、异常重试、异步处理、查询优化、限流、安全性、锁粒度和避免长事务。入参与返回值校验确保数据正确性;考虑接口扩展性以适应不同业务需求;幂等设计防止重复操作;关键接口打印日志辅助问题排查;核心接口使用线程池隔离确保稳定性;异常处理中可采用重试机制,注意超时控制;适合异步的场景如用户注册后的通知;并行查询提升性能;限流保护接口,防止过载;配置黑白名单保障安全;适当控制锁粒度提高并发性能;避免长事务影响系统响应。
109 2
|
7月前
|
消息中间件 设计模式 监控
如何优雅地实现接口统一调用?
【2月更文挑战第6天】
436 3
|
7月前
|
JSON 数据格式
如何创建接口,设计过接口
项目遵循Restful规范设计接口,请求路径基于资源命名,如查询用GET,新增用POST,修改用PUT,删除用DELETE。GET参数通过问号或路径传递,POST/PUT用JSON。统一的接口规范规定:返回数据多时,用VO过滤或整合数据。
52 0
|
数据挖掘 API PHP
Playfab开发(一)如何调用PlayFab接口
Playfab开发(一)如何调用PlayFab接口
|
测试技术 程序员 API
API 接口的对接流程和注意事项
随着互联网技术的发展和数字化时代的到来,API接口已经成为应用程序之间进行数据交换和通信的重要方式。API即应用程序接口,是一种定义、调用和交互的规范,使得不同应用程序之间可以相互调用和共享资源。本文将从程序员的视角出发,详细介绍API接口的对接流程和注意事项。
|
Kubernetes 数据可视化 测试技术
可视化接口管理平台 YApi,让你轻松搞定 API 的管理问题
高效、易用、功能强大的可视化接口管理平台 YApi,让我们能轻松帮助我们搞定 API 的管理问题。
787 1
|
前端开发 JavaScript Java
如何更好管理 Api 接口(续)
哈喽,我是树酱。去年中旬的时候写过一篇关于如何更好管理 Api 接口。最近有朋友问我,我们都是根据Swagger文档,然后通过“阅读”swagger文档中每个微服务包含的CRUD(增刪查改)等API,再通过“手动”撸出各种service文件,以此达到封装的结果。但是这样会暴露一些问题,如下👇
608 0
如何更好管理 Api 接口(续)
|
运维 JavaScript 前端开发
《前端那些事》如何更好管理 Api 接口
前沿:自从前端和后端分家之后,前后端接口对接就成为了家常,“谁”也离不开谁,而对接接口的过程就离不开接口文档,比较主流就是Swagger(强大的API文档工具),当然今天它不是主角,顶多也就是个辅助。这篇文章旨在梳理如何在前端项目中更好的去管理跟后端“对接”的接口
455 0
《前端那些事》如何更好管理 Api 接口
|
机器人
网狐平台的机器人功能平台都给实现了,而且接口都给定义好了只需要实现这个接口就可以
class CAndroidUserItemSink : public IAndroidUserItemSink{  //控件变量protected: CGameLogic      m_GameLogic;      //游戏逻辑 IAndroidUserItem *    m_pIAndroi...