APIs.guru 是最新的获取 API 定义索引、内容管理和空间发现的方法。
这个开源的(MIT 许可证下)社区现在正在管理包括 236 种 API 描述的索引,其中覆盖了 6271 个端点。APIs.guru 致力于变成“REST API 中的维基百科”。
APIs.guru 正在进入一个持续拥挤的市场,其中还有别的 API 索引网站,包括 The API Stack 、 API Commons 、 APIs.io 、 AnyAPI 和更老的索引例如 ProgrammableWeb’s API Directory 。这些 API 索引都有一个共同的目标, APIEvangelist.com 的博客主 Kin Lane 说道:
全世界的开发者都在他们的工作中使用这些定义,并且现代化的 API 工具和服务提供商也在使用它们定义自己需要展示的内容。为了帮助 API 行业达到下一个层次的目标,我们需要你走近并且与 API Stack、APIs.io 或 APIs.guru 分享你拥有的 API 定义,并且如果你有时间和能力,我们希望您也能帮助我们一起为现在能使用的受欢迎的服务整合其他新的 API 定义。
APIs.guru 的目录主要是由它的创造者 Ivan Goncharov 在管理。据一个 DataFire 博客的入口中说,最初版本的目录的构建方式是“使用自动抓取和人工管理相结合的方式来爬取网络中可用计算机处理的 API 定义”。
而这些提交与下面的评估标准不符:
- 过滤掉私有的或者不可信赖的 API
- 将不同的格式转换到统一的 OpenAPI(fka Swagger)2.0 格式
- 修正错误,其中约 80% 的说明有一些错误
- 加入额外的数据,例如:logo、种类等
- 每日对一些说明定义进行更新
这个索引本身可以通过 GitHub Pages 中一个独立的 JSON 文件看到:https://api.apis.guru/v2/list.json
这个文件包含了一个 JSON 对象,其中的格式将 API 的 ID 作为键:<provider>[:<service>]
。每个 API 描述的内容都包含:描述是什么时候加入的,现在推荐使用的 API 版本是什么,以及它的服务在 OpenAPI 文档中的链接(之前它以 Swagger 的名字为人熟知)。还有一个相对自由的格式叫做info
对象,其中包含了基本的标题和描述信息,连同x-*
键存放不同 API 提供者的具体信息。
除 API 索引之外的东西可以通过一个添加API 的页面获取到,其中在GitHub 上的 APIs-guru/api-models 库中开放了一个问题。一旦添加,提及的 API 说明定义就会从提交的格式( RAML 、 API Blueprint 、 WADL 等)被转化到 OpenAPI 2.0 的格式。最后,一个日常脚本会运行,来监控源 API 定义的更新。
查看英文原文: APIs.guru Joins Growing List of API Indexes
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论