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. 阿里云pypi软件包预警

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 背景 Python库的官方仓库pypi允许开发者自由上传软件包,这会导致某些攻击者利用这点构造恶意包进行供应链攻击,在用户安装包或者引入包时触发恶意 ...

  2. Spring Cloud Alibaba 之 Nacos

    Nacos 技术讲解 一提到分布式系统就不的不提一下 CAP 原则 什么是CAP CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability ...

  3. 27.Java 飞机游戏小项目

    开篇 游戏项目基本功能开发 飞机类设计 炮弹类设计 碰撞检测设计 爆炸效果的实现 其他功能 计时功能 游戏项目基本功能开发 这里将会一步步实现游戏项目的基本功能. 使用 AWT 技术画出游戏主窗口 A ...

  4. java LinkedList (详解)

    Java 链表(LinkedList) 一.链表简介 1.链表 (Linked List) 是一种常见的基础数据结构,是一种线性表,但是链表不会按线性表的顺序存储数据,而是每个节点里存到下一个节点的地 ...

  5. mysql join 底层原理

    你知道 Sql 中 left join 的底层原理吗? 2019-09-10阅读 7130 https://cloud.tencent.com/developer/column/2367   01.前 ...

  6. JWT jti和kid属性的说明

    jti chaim=== JWT ID " jti"(JWT ID)声明为JWT提供了唯一的标识符. 标识符值的分配方式必须确保将相同值偶然分配给不同数据对象的可能性可以忽略不计: ...

  7. PACT 在微服务架构中的用途是什么?

    PACT 是一个开源工具,允许测试服务提供者和消费者之间的交互,与合同隔离, 从而提高微服务集成的可靠性. 微服务中的用法 用于在微服务中实现消费者驱动的合同. 测试微服务的消费者和提供者之间的消费者 ...

  8. 什么是 spring 装配?

    当 bean 在 Spring 容器中组合在一起时,它被称为装配或 bean 装配.Spring 容器需要知道需要什么 bean 以及容器应该如何使用依赖注入来将 bean 绑定 在一起,同时装配 b ...

  9. 学习Solr(二)

    一.Solr概述 1.什么是Solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可 ...

  10. 数据分析之Pandas操作

    Pandas pandas需要导入 import pandas as pd from pandas import Series,DataFrame import numpy as np 1 Serie ...