时间都去哪里了

敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式。

前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的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管理工具介绍的更多相关文章

  1. 介绍几款常用的在线API管理工具

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  2. API 管理工具

    API 管理工具 你还苦于无法有效的管理大量的API吗?今天给大家介绍一款API的管理工具.这款工具可以免费使用,虽然中途可能会提示你购买,但并不影响我们的使用. 下载地址: Windows:http ...

  3. Api管理工具(spring-rest-docs)

    对于app开发来说,必须需要有相应的api文档,一般最基础的就是用markdown工具来撰写api文档.当对于开发人员来说,是总会想着寻找更方便撰写,测试,对接前端开发的文档生成的工具. 其实这方面的 ...

  4. Kafka管理工具介绍【转】

    Kafka内部提供了许多管理脚本,这些脚本都放在$KAFKA_HOME/bin目录下,而这些类的实现都是放在源码的kafka/core/src/main/scala/kafka/tools/路径下. ...

  5. 你不得不知的几款常用的在线API管理工具

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  6. 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  7. FREE 开源 API 管理工具等

    最近学习API 管理工具,发现几个不错的东西,记录如下: 1.IBM 收购NODE 厂家  STRONGLOOP 有一产品LOOPBACK,开源,好! 2.apigee  api管理平台 也不错. 3 ...

  8. pip软件包管理工具介绍及基本使用

    pip软件包管理工具介绍及基本使用 一分耕耘,一分收获,要收获得好,必须耕耘得好.-- 徐特立 一.pip软件包管理工具介绍: 定义:pip是Python包管理工具 作用:对Python包的查找.下载 ...

  9. [CoreOS]CoreOS 实战:CoreOS 及管理工具介绍

    转载:http://www.infoq.com/cn/articles/what-is-coreos [编者按]CoreOS是一个基于Docker的轻量级容器化Linux发行版,专为大型数据中心而设计 ...

随机推荐

  1. [WPF] 如何实现文字描边

    1. 前言 WPF 的 TextBlock 提供了大部分常用的文字修饰方法,在日常使用中基本够用.如果需要更丰富的表现方式,WPF 也提供了其它用起来复杂一些的工具去实现这些需求.例如这篇文章介绍的文 ...

  2. 遇到REMOTE HOST IDENTIFICATION HAS CHANGED怎么办?

    今日遇到如下问题: 警告的大概意思就是,主机密钥发生变更,并提示安全风险(可能存在中间人攻击) 但是事实是,这是因为我重装系统之后遇到的问题.重装系统后,指纹当然会发生变化了...在Xshell实验中 ...

  3. python中判断为None

    python中经常会有判断一个变量是否为None的情况,这里列举三种方式: if not x if x is None if not x is None *********************** ...

  4. /proc/uptime参数的意义

    有关/proc/uptime这个文件里两个参数所代表的意义: [root@app ~]#cat /proc/uptime 3387048.81 3310821.00 第一个参数是代表从系统启动到现在的 ...

  5. 问鼎杯预赛web writeup

    1. php的一个精度问题,具体什么精度自己查. 2017.000000000001=2017 2016.999999999999=2017 直接拿谷歌浏览器访问那个链接就可以拿到flag 2. 访问 ...

  6. Java的自动装箱与拆箱(Autoboxing and unboxing)

    一.什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程 1 //自动装箱 2 Integer total = 99; 3 4 //自动拆箱 5 int totalprim = total ...

  7. MySQL—索引(Index)

    前言: 关于MySql索引数据结构和实现原理的讲解值得阅读一下: 实现原理:https://www.cnblogs.com/songwenjie/p/9415016.htm 索引数据结构:https: ...

  8. 【仿真】Carla之收集数据快速教程 (附完整代码) [7]

    收集过程可视化展示,随后进入正文: 参考与前言 看到仿真群对这类任务下(用carla收集数据然后再做训练等) 需求量大,顺手马上写一个好了,首先收集数据需要考虑清楚: 收集什么数据,需要什么样的数据格 ...

  9. Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

    (1)不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的.不可中断,指进程不响应异步信号. (2)暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_ ...

  10. 转:怎样理解OOP?OOP又是什么?

    本文转载至:https://blog.csdn.net/q34323201/article/details/80198271. OOP面向对象编程.OOP思想中很重要的有五点,类,对象,还有面向对象的 ...