01

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

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

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

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。

​​

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

​​

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

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

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

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

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

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

03

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

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

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

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

04 API 调试

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

​​

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

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

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

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

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

05 API mock

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

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

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

06 针对开放项目功提供者

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

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

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

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

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

08 下载

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

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

客户端下载地址:https://www.apifox.cn/?utm_source=bky2

API Hub网页版地址:https://www.apifox.cn/apihub/?utm_source=bky2

​​

这个API Hub厉害了,收录了钉钉企业微信等开放Api,还能直接调试的更多相关文章

  1. CabloyJS一站式助力微信、企业微信、钉钉开发 - 企业微信篇

    前言 现在软件开发不仅要面对前端碎片化,还要面对后端碎片化.针对前端碎片化,CabloyJS提供了pc=mobile+pad的跨端自适应方案,参见:自适应布局:pc = mobile + pad 在这 ...

  2. 能直接调试的开放API?这个API Hub绝了

    ​ 01 此前时不时会有一些研发小伙伴和我诉苦,说很多企业由于人力财力限制或者需求不强,会直接购买使用第三方的开放API,这样一来, 一则由于开放项目不是量身定制的,寻找自己合适的接口也要搜索调研蛮多 ...

  3. 阿里云API网关(6)用户指南(开放 API )

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  4. 分析报告:云之家V9 VS 钉钉3.5

    http://news.yesky.com/hotnews/1/244252501.shtml 1.市场调研 1.1 企业需求 笔者所在单位是一家中型企业,企业流程和信息化基础较为成熟.随着移动互联网 ...

  5. 使用python实现钉钉告警通知功能

    前言:日常工作中告警通知是必不可少的,一般会使用邮件.钉钉.企业微信等,今天分享一下使用python实现钉钉告警 一. 钉钉机器人创建 登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群 ...

  6. js api 实现钉钉免登

    js api 实现钉钉免登,用于从钉钉微应用跳转到企业内部的oa,erp等,我刚刚实施完了我公司的这个功能,钉钉用起来还不错. 1 js api 实现钉钉免登,页面配置. <title>利 ...

  7. 钉钉服务端api接口使用

    原文链接:http://www.cnblogs.com/xiaosongJiang/p/9991573.html 第一步:注册钉钉企业账号 打开链接:https://oa.dingtalk.com/# ...

  8. 钉钉客户端JS-API权限签名算法.NET版

    前段时间写了一篇博文<钉钉如何进行PC端开发>,在里面并未解决本地生成签名的问题,需要到官网进行生成,由于钉钉门票等认证信息会超期,因此,必须能本地用代码自动更新相关参数信息,来换取签名. ...

  9. 钉钉如何进行PC端开发

    前段时间,用钉钉进行了服务器端的开发,对照着官方文档,感觉还是比较顺利的.后续想有时间研究一下PC端客户端的开发,看着官方文档,说的确实是比较简练,但也确实没看太明白,废了半天劲也没成功.后来经过无数 ...

随机推荐

  1. Android 12(S) 图形显示系统 - BufferQueue的工作流程(十一)

    题外话 我竟然已经写了这个系列的十一篇文章了,虽然内容很浅显,虽然内容很枯燥,虽然内容也许没营养,但我为自己的坚持点赞! 一.前言 前面的两篇文章,分别讲解了Producer的处理逻辑和queue b ...

  2. K8S原来如此简单(五)Metrics Server与HPA

    什么是HPA https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale/ 我们前面有通过kubectl ...

  3. 基于SpringBoot实现自动装配返回属性

    一:需求背景 在业务开发中经常会有这个一个场景,A(业务表)表中会记录数据的创建人,通常我们会用userId字段记录该数据的创建者,但数据的使用方会要求展示该数据的创建者姓名,故我们会关联用户表拿该用 ...

  4. Java 实现汇总排序

    排序在系统中经常能用到,一般可以在数据库做排序,也可以在服务端做排序.在数据库一般使用 order by 排序.而服务端也是使用快排.本期使用汇总排序. 问题 统计销售数据,每个销售员都有对应的部门和 ...

  5. 数据结构 - 单链表 C++ 实现

    单链表 单链表的定义 typedef int ElemType; typedef struct LNode { ElemType data; LNode *next; } LNode, *LinkLi ...

  6. 请说说Struts1和Struts2的区别?

      特性 Struts1 Struts2 Action Struts1.x要求Action类要扩展自一个抽象基类.Struts1.x的一个共有的问题是面向抽象类编程而不是面向接口编程. Struts2 ...

  7. SQL语句分为哪几种?

    SQL语句主要可以划分为以下几类: DDL(Data Definition Language):数据定义语言,定义对数据库对象(库.表.列.索引)的操作. 包括:CREATE.DROP.ALTER.R ...

  8. Dubbo 使用过程中都遇到了些什么问题?

    在注册中心找不到对应的服务,检查 service 实现类是否添加了@service 注解 无法连接到注册中心,检查配置文件中的对应的测试 ip 是否正确

  9. 在Java中,如何跳出当前的多重嵌套循环?

    答:在最外层循环前加一个标记如A,然后用break A;可以跳出多重循环.(Java中支持带标签的break和continue语句,作用有点类似于C和C++中的goto语句,但是就像要避免使用goto ...

  10. spring中bean的五种作用域?Spring中的bean是线程安全的吗?

    spring中bean的五种作用域 当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域.Spring支持如下5种作用域: singleto ...