API管理工具介绍
时间都去哪里了
敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式。
前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的API接口,即可被web,iOS,Android等多个客户端使用,效率大大提高。
但生于敏捷,死于迭代,困于团队协作常常是这种软件研发模式的一大弊病。 随着项目不断推进、变更,项目越来越大,维护成本也越来越高。
由于某些公司接口文档管理方式采用wiki及html,openapi形式,版本迭代较快,接口常常变更,成员间update和文档维护却常常跟不上。
在API管理方面越到后期越存在着可观且隐形的“人力资源”浪费:
1)文档老旧不可用,新人上手工作、熟悉项目靠“老人”的口口相传,造成人力双重浪费,团队成员自己的工作进度受阻,新人胜任任务的进度缓慢。
2)接口由于初期设计问题/功能扩展/需求变更问题而修改,但修改后往往难以及时同步到前端和测试等下游环节
3)接口在设计初期不规范,造成前端,测试在调试和测试理解上的困难,甚至部分接口需要重新返工
这些情况越到项目发展后期会越严重。以至于不少研发人员总是抱怨:写代码不累,沟通对接心累;工作不辛苦,就是命苦。
如何优雅地进行API管理
为了解决研发人员的问题,我们需要解决API管理中的各个痛点,换言之,一个完美的API管理工具应满足如下特征:
**在接口设计阶段,能规范研发人员的接口设计
在接口调试阶段,提供多种功能充分调试,高度仿真实际工作情境
在接口维护过程中,维护成本低,且各项变更能及时update到下游工作环节的团队同事
一站式服务,一个工具就可完成接口的设计、调试、维护,测试过程,不需要反复导入导出,各个软件来回切换,提高效率。**
最终的解决方案
笔者在网上找了很长时间,发现一款几乎能满足以上需求的解决方案软件--Apifox. 这个软件的主要特性:
可视化接口设计界面,支持 https 和 https 协议,遵循openApi和 Json Schema规范,各项http请求参数与接口描述直接填写即可。支持构建数据模型,可供多个请求参数复用。
媲美postman的接口调试功能,除此之外,还支持“零配置”mock高度仿真的业务数据,支持读取数据库
系统自动生成代码 根据接口及数据数据模型定义,系统自动生成接口请求代码、前端业务代码及后端业务代码
实时更新云端变更的数据到各个团队成员,避免数据不一致导致的重复工作和返工;代码更新和文档更新在同一软件全部完成,减少维护工作量
项目管理 为不同的项目角色分配不同执行权限,有效保护项目数据安全;支持openapi,postman格式的旧有项目导入apifox,实现项目无痛迁移,支持html格式,openapi等多种格式的接口数据导出。
接下来笔者再针对一些功能进行详细的介绍
接口设计
界面可视化,可以对接口信息进行编辑管理,get,post等常规的接口请求方法直接下拉框选择; query,body,header参数直接对应填写,返回参数支持JSON,XML格式导入,并能直接进行格式校验。 接口描述部分支持Markdown格式的文本。
- 接口调试
接口调试有两种模式,一种是不需要创建项目的快捷调试,直接校验接口请求 和返回参数, 一种是在项目里对单个接口调试, 这部分的功能基本等同于postman。 可添加多种前后置操作:
校验返回response,检查返回状态和数据结构是否符合预期。
接口维护 当变更接口时直接在apifox内修改并生成新代码,同时说明文档就存放在同一个位置,顺手修改文档说明就变得非常方便。接口变更之后,协作成员能及时同步云端变更。
项目管理 支持数据导入导出,自动生成接口代码
针对不同角色的成员,设置不同的数据权限。如后端研发可以修改接口数据,而前端和测试成员只有只读权限,项目外人员则只有访客权限只能查看到接口信息而无法查看数据类型。
可针对开发调试,测试验证,线上使用配置不同的服务器:
此外
Apifox不仅是一款针对研发人员的API管理工具,还能为测试人员提供接口测试,接口自动化测试,测试管理等一系列功能。可以说是一款研发团队一站式提升效率的神器。
API管理工具介绍的更多相关文章
- 介绍几款常用的在线API管理工具
在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...
- API 管理工具
API 管理工具 你还苦于无法有效的管理大量的API吗?今天给大家介绍一款API的管理工具.这款工具可以免费使用,虽然中途可能会提示你购买,但并不影响我们的使用. 下载地址: Windows:http ...
- Api管理工具(spring-rest-docs)
对于app开发来说,必须需要有相应的api文档,一般最基础的就是用markdown工具来撰写api文档.当对于开发人员来说,是总会想着寻找更方便撰写,测试,对接前端开发的文档生成的工具. 其实这方面的 ...
- Kafka管理工具介绍【转】
Kafka内部提供了许多管理脚本,这些脚本都放在$KAFKA_HOME/bin目录下,而这些类的实现都是放在源码的kafka/core/src/main/scala/kafka/tools/路径下. ...
- 你不得不知的几款常用的在线API管理工具
在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...
- 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)
在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...
- FREE 开源 API 管理工具等
最近学习API 管理工具,发现几个不错的东西,记录如下: 1.IBM 收购NODE 厂家 STRONGLOOP 有一产品LOOPBACK,开源,好! 2.apigee api管理平台 也不错. 3 ...
- pip软件包管理工具介绍及基本使用
pip软件包管理工具介绍及基本使用 一分耕耘,一分收获,要收获得好,必须耕耘得好.-- 徐特立 一.pip软件包管理工具介绍: 定义:pip是Python包管理工具 作用:对Python包的查找.下载 ...
- [CoreOS]CoreOS 实战:CoreOS 及管理工具介绍
转载:http://www.infoq.com/cn/articles/what-is-coreos [编者按]CoreOS是一个基于Docker的轻量级容器化Linux发行版,专为大型数据中心而设计 ...
随机推荐
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑
之前因为一些需要,需要转换部分 HTML 标签成 markdown 格式,但是不知不觉就完善到一个相对完整的函数. 然后我就封装成了一个文件放在了 github ,也简单做了两个示例网页. HTML ...
- ArcMap操作随记(6)
1.上流汇流区 [填洼]→[流向]→[分水岭] 2.输入坐标进行移动,也就是精确移动 [移动]工具(在自定义中,其中的[旋转]工具也有类似效果) 3.找最近的要素(矢量) [近邻分析]→[汇总] 4. ...
- Prism 框架解读之一系列
名词解释 1.什么是IOC IOC是 Inversion of Control的缩写,多数书籍翻译成"控制反转". IOC 和依赖注入(DI) 所谓依赖注入,就是由IOC容器在运行 ...
- Bert不完全手册3. Bert训练策略优化!RoBERTa & SpanBERT
之前看过一条评论说Bert提出了很好的双向语言模型的预训练以及下游迁移的框架,但是它提出的各种训练方式槽点较多,或多或少都有优化的空间.这一章就训练方案的改良,我们来聊聊RoBERTa和SpanBER ...
- Java基础——ArrayList
Java基础--ArrayList 作用:提供一个可变长度的集合,底层实际上是一个可变长度的数组 格式:ArrayList <E> arr=new ArrayList<>(); ...
- MySQL—索引(Index)
前言: 关于MySql索引数据结构和实现原理的讲解值得阅读一下: 实现原理:https://www.cnblogs.com/songwenjie/p/9415016.htm 索引数据结构:https: ...
- Python 分形算法__代码里开出来的艺术之花
1. 前言 分形几何是几何数学中的一个分支,也称大自然几何学,由著名数学家本华曼德勃罗( 法语:BenoitB.Mandelbrot)在 1975 年构思和发展出来的一种新的几何学. 分形几何是对大自 ...
- Redis的删除机制
Redis的删除机制 Redis的使用分两点: 性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存.这样,后面的请求就去缓存中读取,使得请求能够迅速响 ...
- React优点?
声明式, 组件化, 一次学习, 随处编写. 灵活, 丰富, 轻巧, 高效
- String工具类之“前缀比较”StringUtils.startsWith和StringUtils.startsWithIgnoreCase
(1)字符串以prefix为前缀(区分大小写) StringUtils.startsWith(被比较的字符串,比较字符串) 总结: 根据下面代码发现,上面的例子有部分时错误的,有可能是因为思维原因,他 ...