这是我们关于我们认为的 OpenAPI 社区英雄的系列文章中的第一篇。这些人不遗余力地为 OpenAPI 规范 (OAS)、特别兴趣小组 (SIG) 或整个 OpenAPI Initiative 做出贡献。
我们的第一个英雄是 Henry Andrews。Henry 是 OpenAPI 社区中的关键人物,在 API 设计方面拥有悠久的背景,并且作为标准作者为 OpenAPI 和 JSON Schema 做出了贡献。他丰富的 HTTP 和 JSON Schema 知识背景使他成为我们标准创建和维护方面宝贵的资源,并且他积极参与创建新版本的过程,包括在 Moonwalk SIG 中以及 OpenAPI 规范 3.x 版本的次要和补丁版本发布。Henry 还是不同 OpenAPI 版本的 GitHub 讨论区的常客,他丰富的经验有助于引发许多丰富而有启发性的辩论。
我们向 Henry 提问了一些问题,以了解更多关于他为 OpenAPI Initiative 的未来设定的动机、目标和希望。
是什么驱使您对 OpenAPI 规范感兴趣并参与其中?
十多年前,我或多或少偶然地成为了我当时工作的 REST API 标准专家。我发现我真的很喜欢这个领域。OpenAPI 符合这个领域,我知道我的贡献将产生广泛的影响。我一直也喜欢与这个项目和社区中的人们一起工作。我既能够做出大量贡献,又能从他人那里学到很多东西,这非常理想!
您认为您对 OpenAPI 开发的最重要的个人贡献是什么?
我推动了大量工作,使 OpenAPI 规范 3.1 版本与 JSON Schema 2020-12 草案保持一致。OpenAPI 和 JSON Schema 之间的差异(菲尔·斯特金称之为“超集-子集问题”)一直是用户和工具开发人员的主要痛点。
恢复兼容性还引入了许多自草案 04 以来 JSON Schema 的新功能,这些功能我与该项目一起开发,特别是在模式可扩展性和重用方面。
您认为 OpenAPI 4 版本中最令人兴奋的拟议功能是什么?
更好的多文档支持!外部引用从未得到一致的实现,我们从中吸取了很多教训。API 越来越大,并且重用了更多组件。行业标准组织甚至正在设计可在多个 API 之间共享的组件。
OpenAPI 4 将拥有一个一致的多文档模型,易于实现、理解和使用。尽管不要问我它是什么样子的!我们仍在敲定细节。
Arazzo 规范将如何有利于 OpenAPI 规范的开发?
Arazzo 更加关注模块化和可重用性。Arazzo 工作流程可以跨越多个 API 提供商,这些提供商可能使用类似的概念。
我认为 Arazzo 和我之前提到的行业标准共享组件的结合将让我们学到很多关于 OAS 4 如何需要支持识别和使用通用组件的知识。如果工作流程中的 API 以相同的方式表示相同的概念,则使用 Arazzo 自动化工作流程将变得更加容易。我们有一个新的行业标准特别兴趣小组,我希望他们能够真正深入研究这一领域。
您对 OpenAPI 规范的未来有什么看法?
在不久的将来,我希望 3.0.4 和 3.1.1 补丁版本的发布将向我们的社区表明 OpenAPI Initiative 正在积极运作并倾听他们的意见。它们不会添加任何新内容,但它们将回答项目不太活跃时积压的许多问题。
从长远来看,我希望 Arazzo 和 Moonwalk(OAS 4)能够帮助将 API 设计重点更多地转向 API 的使用方式和原因。如此多的 API 设计工作都陷入了 URL 模板、查询参数编码或决定对写入使用哪种 HTTP 方法的细节中。但是,API 的价值来自您可以用它做什么,而不是它的工作原理。
您认为哪些其他标准发展对 API 经济特别重要?
OpenAPI 4 正在考虑 AI 使用情况进行设计。这使得 AI 标准问题变得尤为重要。标准历来是为人类编写的,以便人类确切地知道如何实现和使用它们。如果用户是 AI,情况会发生什么变化?
语义网标准为程序化使用形式化语义,对物联网特别重要。但它们一直是一个小众领域,因为确定语义到那种程度非常具有挑战性,并且您需要了解几个复杂的标准才能真正利用语义网。
理论上,LLM 应该能够从结构化程度较低的数据中收集语义,但这也会带来错误的空间。在尝试用数学严谨性来确定所有事项与依赖 AI 来弄清楚事物之间,平衡点在哪里?可能需要有一些关于如何在_可靠地_告知 LLM 重要事项的标准,而无需锁定每个含义的标准。
是否应该有更多的人参与开发 OpenAPI Initiative 规范,为什么?
是的!我特别想鼓励那些能够帮助我们完成除了编写实际规范之外的所有工作的人。我们需要在 Learn OpenAPI 网站上添加更多示例和文档,并且我们还需要更新诸如贡献者指南之类的东西。这项工作适合各种技能水平,但潜在志愿者并不知道我们需要这些技能。
当然,我们也欢迎那些想为规范做出贡献的人。我很乐意从我提交的 PR 中获得更多用户_和_实施者的反馈。有时我们这些长期从事规范工作的人可能会受益于那些将规范付诸实践的人的反馈!