• 12
  • 10
分享
  • 能直接调试的开放API?这个API Hub绝了
  • Liam 2022-04-06 16:56:00 字数 2282 阅读 759 收藏 10

 

01

此前时不时会有一些研发小伙伴和我诉苦,说很多企业由于人力财力限制或者需求不强,会直接购买使用第三方的开放API,这样一来,

一则由于开放项目不是量身定制的,寻找自己合适的接口也要搜索调研蛮多时间。
二则这种合作方式下 API提供者通常只会提供调用权限和一份接口文档,研发童鞋调试的时候只能手动一个个把接口数据复制到调试工具,费时费力。

综合上述两大痛点,我给大家推荐的解决方案是的一个叫API Hub的项目。

111.png

GitHub 上面也有类似于public APIs等收录了开放API ,但只做了数据收录的工作,接口调试工具则只提供了调试功能,两者兼而有之的很少。

而API Hub的革新之处在于它不仅汇总整理了热门的开放 API 接口,更重要的是还提供了一系列调试、mock,测试等功能,开发者直接在API Hub上面比对选择合适的API,接着直接在API Hub中发起调试,整个流程一气呵成,省时省力。

因此这个API Hub创意不赖,值得花点篇幅介绍给大家。

02

API Hub是国产API管理工具Apifox里面相对独立的模块。

Apifox 支持API文档管理,API 调试,API Mock,API 自动化测试,是一个后端,前端,测试都能用的一站式接口管理平台,因此它官网上写的slogan就是 Apifox=Swagger+Postman+Mock+Jmeter。

222.png

而API Hub 收录了国内各大厂商热门的API 开放项目,如企业微信API,快手开放API,抖音开放API,目前还在持续收录中;另一方面它依托于Apifox,能提供对开放api 进行调试、mock等功能。

333.png

对于想要接入开放项目的开发者来说,便利是肉眼可见的:

  • 针对特定的需求,开发者可快速在API Hub中搜索到类似功能的api项目,进行比对,筛选出最匹配自己项目和需求的API,提高筛选效率

  • 开发者可以直接在API Hub中发起调试

  • API Hub中接口和文档是一体的,可以直接查看接口描述和功能

  • API Hub中的开放项目还可以无须配置进行mock,满足异常场景调试的需求。

下面我给大家展开讲讲要怎么用。

03

绝大多数的开放项目都需要你先申请调用权限,有些开放API可以直接在官网上按照它的提示申请,获得apikey、client_secret等值;有些则需要企业走购买流程,对于想要练手的可以找前者,对于企业开发者后者可以交给商务去搞定。

获取到调用权限后,就可以开始调试了。在API Hub里,可以直接查看接口文档,或者直接进入项目发起调试。

3.1.png

可以直接查看某个接口的接口文档详情,再对该接口发起调试:

3.2.png

也可以直接进入项目的调试界面:

3.3.png

项目调试界面

04 API 调试

和市面上的老牌调试工具Postman相比,Apifox毫不逊色——Postman支持的功能它都能支持,并且Apifox还提供了支持可视化断言,连接数据库,调用外部函数与脚本,支持多种语言,环境变量设置等功能,调试起来也很快捷方便。

4.1.gif

支持多种鉴权方式: 前后置操作支持多种辅助功能: a.支持可视化断言,多个接口调用、参数复杂的场景下便于判断返回数据是否存在问题;

4.2.png

b.支持提取变量保存到项目全局变量中,能够实现接口之间的数据传递

4.3.png

c.支持链接数据库,可以直接使用企业的业务数据进行调试,调试的结果更加真实

4.4.png

d.支持自定义脚本,满足开发者的各类型的特定需求,此外也支持调用Java,Python,PHP等130种编程语言编写的外部程序;

4.5.png

当然,这确保电脑已经安装相应程序运行需要的java,Python,nodejs等环境。

05 API mock

前端界面往往需要对一些后端异常返回场景做异常兼容,但开放API对这种异常场景的调试支持时不足的。 这时候可以使用 Apifox提供的API Mock功能。 调试的时候直接使用mock服务,在高级mock-新建期望中设置body/query等参数为某个值时,接口返回你需要的特定数据

5.1.png

保存成功的期望会显示到高级mocktab下,调试前端界面时直接使用快捷调试功能即可操作 Apifox提供的mock功能非常强大,它内置了邮箱,身份证等常用业务数据的mock规则,使用的时候直接选择即可mock出高度真实的业务数据。

5.2.png

如果你的项目数据有特定的数据类型,可以自己自定义mock规则,在项目设置-mock设置中可通过通配符或正则表达式构造出你需要的数据来调试。

5.3.png

06 针对开放项目功提供者

如果你是开放项目的提供者,那么也可以申请把自己的开放API项目提交到API Hub中进行运营维护。

6.1.png

Apifox目前处于高速增长期,未来一旦用户量提升到某个量级,会给API Hub里的开放项目带来可观的曝光量。

而且Apifox的接口和文档是一体的,修改文档和接口能实时同步更新到调用这个开放API的所有开发者,避免了项目接口升级或迭代需要很多的沟通和告知工作。

另外 Apifox的可视化接口设计界面非常简单易操作,如果开发者想要这接在Apifox中设计接口,撰写文档,学习成本也非常低。

6.2.png

对于旧项目想要迁移到Apifox中进行维护,直接在项目设置--数据导入中导入swagger,postman等项目数据即可。

6.3.png

07 下载

在Apifox客户端内API Hub是独立出来的一个模块,下载安装完Apifox后即可使用:

7.png

API Hub也有网页版,不过网页版目前暂未支持mock服务,因此使用客户端体验会更好。

客户端下载地址:www.Apifox.cn

API Hub网页版地址:https://www.apifox.cn/apihub/


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • MySQL 官方驱动模块在 Python 语言里,有很多连接 MySQL 数据库的模块,且都能执行 SQL 语句,完成数据的增删改查操作。MySQL Connector 是 MySQL 官方的驱动模块,在兼容性上特别的好;不会有数据乱码的情况的发生,对 MySQL 8.0 的支持也很好。有很多的第三方的模块对 MySQL 8.0 这个版本兼容性非常的不好,特别是 MySQL 8.0 引入的新的安全机制。不少第三方模块由于没有更新,所以是没有办法连接到最新版本的 MySQL上面的,所以这里推荐大家使用 “MySQL Connector” 这个 MySQL 官方的驱动模块,毕竟是官方,更新的速度还...
            0 0 5104
            分享
          • 测试流程我们一般在项目进行开立项会(产品经理 项目经理 开发人员 测试人员)的时候进行参与,讨论需求并提出建议,在立项会中制定需求文档,由UI设计原型图,开发根据需求进行编码,我们测试会根据需求文档进行编写测试计划,根据模块的颗粒度划分并编写测试用例以及对用例的评审,开发结束后,测试对主要功能进行冒烟测试,执行测试用例,提交bug开发进行修改,修改成功后关闭bug,进行回归测试,在上线前进行测试总结。用例评审会:【测试人员 测试组长/项目经理 产品经理】 a:组内评审【测试人员 测试组长/项目经理 产品经理 客户】 b:组外评审冒烟测试:对主要功能进行测试回归测试:bug修改后,重新测试查看是...
            0 0 2487
            分享
          •   安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程,其主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,安全指标不同,测试策略也不同。  但安全是相对的,安全性测试并不能最终证明应用程序是安全的,而只能验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。例如,测试应用软件在防止非授权的内部或外部用户的访问或故意破坏等情况时的运作。  软件安全是软件领域中一个重要的子领域,系统安全性测试包括应用程序和操作系统两个方面的安全性。而系统安全性又包括两个方面的测试:一是软件漏洞,设计上的缺陷或程...
            0 1 1961
            分享
          • 使用python3.6编写一个单元测试demo,例如:对学生Student类编写一个简单的单元测试。1、编写Student类:#!/usr/bin/env python3 # -*- coding: utf-8 -*-   class Student(object):   def __init__(self,name,score): self.name = name self.score = score def get_grade(self): if&nb...
            1 1 1507
            分享
          •   每个载入浏览器的HTML文档都会成为Document对象,Document对象,是所有Anchor、Applet、Area、Form、Image、Link、Plugin等对象的祖先对象。  Document 对象使我们可以从脚本(例如javascript)中对 HTML 页面中的所有元素进行访问,比如通过标签操作元素。  一起来看看javascript(以下简称js)是如何操作Document对象及通过Document方法操作其他对象的。  Document方法列表  以chrome浏览器为例,js对document对象及其子对象常用操作方法列表如下(按字母顺序排列)。表1 Documen...
            13 13 1306
            分享
      • 51testing软件测试圈微信