AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

APIs.json: 用于发布和发现 API 的工具

  • 2014-08-27
  • 本文字数:1596 字

    阅读完需:约 5 分钟

APIs.json 可以让网站将他们的 API 开放给搜索引擎,并且让 API 可被发现。

APIs.json 是一种 API 的定义格式,这种格式的文件可以用于向外界传达某个网站所提供的 API。该文件可以放在网站域名的根路径下,其中包含了一段关于 API 的机器可读的描述,以及一些指向其他同类文件的链接。APIs.json 与 robots.txt 有些类似,robots.txt 是一种被搜索引擎用来索引网站内容的文件,而 APIs.json 则被应用于 API 的发现和索引。

虽然 APIs.json 的版本目前还只是 0.14 版,但它的作者们认为它已经“准备就绪”,并且“社区可以真正地基于它构建起来”。该格式定义了大量强制和可选的元素,我们来对其中一部分作一下简介:

  • Name [强制]: API 集合的名称,是供人类可读的字符串文本。
  • Description [强制]:API 集合的描述,是供人类可读的文本。
  • Created [强制]: 当前文件的创建时间。
  • Apis (集合) [可选]: 文件中收录的 API 列表,每一条都包含以下元素: Name [强制]: API 的名称。
    Description [强制]: 供人类可读的关于 API 的描述。
    baseUrl: 与 API 的根 URL 或主要端点(primary endpoint)相对应的 Web URL。
    Version [可选]: 用于表示本描述所引用 API 的版本号的字符串。
    properties (集合):
    - type: 请查看保留关键字。
    - url 或值。

APIs.json 是 3Scale (Steve Willmott -@njyx 和 Nicolas Grenie -@picsoung) 和 API Evangelist (Kin Lane -@kinlane) 合作的成果。InfoQ 对 Kin Lane 进行了采访,从而对该项目的细节进行了进一步的了解。

InfoQ: 你们打算将 APIs.json 这种格式提交给某个标准化组织吗?

KL: 未来有可能会将 APIs.json 提交给标准化组织。但是目前,我们还是在努力工作以获得更多关于这种格式的反馈。希望通过在 1000 个以上的网站进行部署来使它更加的成熟,然后我们会再考虑下一步的计划。

InfoQ:有没有已经使用了这种格式的网站?

KL:最早使用该格式的站点是 apievangelist.com ,上面拥有来自 98 个独立提供者所提交的 138 个 API,但是其中很多都不是官方提供者所提交的。就是说它们大都是由第三方提交的。然而,该站点也有很多来自官方提供者的 APIs.json,这些提供者包括 Spotify、Diffbot、Paypal、MYOB 和 Neutrino API。

InfoQ: 既然你认为目前“社区可以真正地基于它构建起来”,那么为什么当前 APIs.json 的版本仍然只有 0.14。难道不应该是 1.0 版吗?

KL:我们从 0.11 版开始,根据反馈和经历的一些事情对它进行了快速地迭代开发,从而达到了 0.14 版。虽然它现在已经被广泛地使用起来,并且有数百个提供者认同了我们的工作,但将它视为 1.0 版目前看上去还不合适。我们已经花费了好几个月的时间来取得目前所拥有的成绩,但是我们仍然有很多的工作要做。

InfoQ:我了解到 APIs.json 已经支持了以下的一些 API 格式:Swagger、RAML、Blueprint、WADL 以及 WSDL。你们有计划在未来支持其他更多的格式吗?

KL: 我们从一开始就只专注于那些主流的 API 定义格式。然而,只要通过使用 API properties,你便可以指定任意你所选择的 API 定义格式。这里面并没有什么限制,但是一旦我们发现某些特定的格式获得了主流的使用,我们将会把它们囊括进核心的规范

InfoQ:你们的短期计划和长远规划是怎样的?

KL:实现。实现。实现。我们正在向 API 提供者教授 APIs.json,并帮助他们进行实现。我们将会专注于帮助人们理解在内部以及公共发现方面使用 APIs.json 所带来的好处。沿着这个方向,我们会持续地打造一些有意义的工具,比如开源搜索引擎 APIs.io ,它可以帮助人们看到 APIs.json 所带来的好处。

与 APIs.json 相伴而生的便是 APIs.io ,这是一个开源的搜索引擎,它通过爬取网站来对它发现的 apis.json 文件进行索引。该网站同样也包含了一系列用于注册新 API 的工具,并且为它们生成并验证 apis.json 文件。

整个 APIs.json 项目基于 MIT 许可证发布,目前已在GitHub 上开源

查看英文原文: APIs.json: Publishing and Discovering APIs

2014-08-27 03:582399
用户头像

发布了 52 篇内容, 共 23.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

知识计算:华为云要给AI时代开一扇门

脑极体

ORM

风翱

ORM 10月月更

区块链的监管架构基本成型

CECBC

一文读懂公共部门、区块链和数字太空竞赛三者之间的角色关系

CECBC

音视频:播放器与H.265播放探索

程序员架构进阶

视频流 播放器 H.265 10月月更

docker 系列:实践工具

yuexin_tech

21. 合并两个有序链表(链表)

黄敏

通过几个小程式来快速学习Java基本语法 | Java

Regan Yue

Java 10月月更

深空时代来临,探日究竟有何魔力?

脑极体

揭秘!探访百度AI反诈第一线

白洞计划

【新】虚拟机深层系列「GC本质底层机制」SafePoint的深入分析和底层原理探究指南

码界西柚

JVM safepoint JVm虚拟机 10月月更

架构营模块一作业

GTiger

架构实战营

如何应对职场焦虑?

石云升

焦虑 职场经验 10月月更

官方线索 | HDC.Together华为开发者大会2021

穿过生命散发芬芳

1024我在现场

linux之curl命令

入门小站

Linux

ConcurrentHashMap JDK1.8 源码分析

黄敏

java

Map (映射) 实现

BlockQuant

map 哈希表 hash table

百万大数据5期-BSM-01课作业

Clarke

代码质量管理:SonarQube + Jenkins Pipeline配置

看山

DevOps 10月月更

Android 音视频采集那些事

声网

音视频

第一周作业

沐风

模块一的命题作业

月影之臣

架构实战营

Java 面试八股文之数据库篇(三)

Dobbykim

JavaScript对象创建的 6 种模式

devpoint

工厂模式 原型链 构造函数 JavaScrip 10月月更

1万字长文高速你千万级并发架构下如何提高数据库存储性能

Java 编程 架构 面试 分布式

在线字符串转列表工具

入门小站

工具

把握数字经济发展趋势和规律 推动我国数字经济健康发展

CECBC

数字货币交易所系统开发内容(案例)

022云原生之Kubernetes服务

穿过生命散发芬芳

云原生 10月月更

Prometheus 查询操作符(四) 示例合集

耳东@Erdong

Prometheus 10月月更

Go 中如何写注释

baiyutang

golang 10月月更

APIs.json:用于发布和发现API的工具_架构_Abel Avram_InfoQ精选文章