跳至主要内容
类别

博客

OpenAPI Initiative Newsletter - 2024 年 8 月

作者 博客

欢迎来到 OpenAPI Initiative 2024 年 8 月的时事通讯,这是我们定期发布的关于 OpenAPI 全球最新故事的综述。现在是北半球的假期季节,但我们有很多新闻要分享!

倡议新闻

我们的 Arazzo 规范在我们上一次的新闻通讯中公布,如果你错过了,它是一种描述语言,允许 API 提供商描述 API 调用的序列,无论是在一个 API 中还是跨多个 API。Arazzo 的出现引起了社区的广泛关注,人们对 Arazzo 如何满足许多用例表现出了极大的兴趣。

为了帮助介绍 Arazzo,我们启动了另一个倡议,我们的 OpenAPI Hangouts 系列!我们于 2024 年 7 月 30 日举行了第一次 OpenAPI Hangout,Budha Bhattacharya、Frank Kilcommins、Lorna Mitchell 和 Erik Wilde 在会上详细讨论了 Arazzo。如果你错过了 Hangout,请在 活动页面 上观看视频。请关注我们,并在 LinkedIn 上关注未来 OpenAPI Hangouts 的信息。

我们还通过一个真实的用例详细研究了 Arazzo,即为 API 消费者在其电子商务解决方案中实施先买后付 (BNPL) 解决方案。虽然我们用例中的 BNPL API 和平台只是示例,但它们准确地反映了此类电子商务编排和工作流程需求的复杂性。你可以在我们的 博客 上了解有关完整 BNPL 示例的更多信息。

规范新闻

我们的规范 网站 近期进行了改造。现在所有版本的 OpenAPI 规范都通过此页面提供,以及 Arazzo 的 v1.0.0。我们希望这些变化将为我们的规范读者提供一个集中式的“一站式”解决方案。

OpenAPI 规范的多个版本正在继续开发。我们目前正在进行多个版本的发行,包括 3.0.4、3.1.1、3.2 和 4.0。

3.0.4 和 3.1.1 是修补版本,它们使 OAS 3.0 和 3.1 更清晰,而不会添加任何新的要求。我们扩展并改进了对参数序列化、鉴别器、引用解析等的解释。我们还更新了对安全标准的引用,并改进了整个规范中措辞的一致性和清晰度。

3.2.0 将是迈向“太空漫步”的增量步骤,它将与 3.1 严格兼容。我们的目标是在未来不久引入一些“太空漫步”改进,以及其他一些工具提供商易于实现的小修复。这将有助于为最终发布的 4.0 架起一座桥梁。

在“太空漫步”特别兴趣小组 (SIG) 的指导下,OpenAPI 4.0 的开发工作(代号为“太空漫步”)也在迅速进行。你可以在 讨论 中了解有关“太空漫步”的最新进展,我们在那里发布每次会议的讨论要点。

当然,我们的规范会议对所有人开放。如果你想加入聆听或贡献,你可以在 OAI 日历 中找到会议。

社区新闻

我们最近宣布了我们的社区英雄功能,该功能介绍了 OpenAPI 社区中一位宝贵成员。我们的第二个社区英雄是 SmartBear 首席 API 技术布道师 Frank Kilcommins,他为创建 Arazzo 规范做出了重要贡献。

请阅读我们 博客 上关于 Frank 的更多信息。如果你对未来的社区英雄有任何建议,请告诉我们,我们会尽力将他们重点介绍!

活动综述

会议季即将再次开始,我们有几个 OAI 轨道和会议正在筹备中。

Apidays London - 2024 年 9 月 18 日 - 19 日

我们的下一个活动将是 apidays London,Erik Wilde 将主持我们的 OAI 轨道。apidays London 的主题是“用于更智能平台和业务流程的 API”,重点介绍 AI 和 API 如何作为企业的推动者。因此,我们的 OAI 轨道将着眼于 OpenAPI 生态系统中的标准和实践,这些标准和实践作为业务的推动者。我们将从 Frank Kilcommins 那里了解到有关 Arazzo 的最新消息,从 Lorna Mitchell 那里了解到有关 API 治理的最新消息,以及从 Gobe Hobona 那里了解到有关地理空间生态系统的 API 标准化。

北欧 API 平台峰会 - 2024 年 10 月 7 日 - 9 日

每年 10 月在斯德哥尔摩举行的 北欧 API 平台峰会 提供了关于 API 经济的丰富体验和视角。OAI 在峰会上提供了一个 OpenAPI 基础知识研讨会,其内容基于我们的 Linux 基金会课程。该研讨会将由 Budha Bhattacharya 和 Chris Wood 主持,并将采用“问答”的形式,为您提供目标主题的深入见解。请点击 链接 进行注册。

活动展望

我们正在计划在以下活动中设置 OAI 轨道

最后...

本期新闻通讯就到这里。如果你身处北半球,我们希望你度过一个愉快的夏季!

如果你有任何新闻要与 OpenAPI 社区分享,请通过电子邮件与我们联系,或加入 Slack 上的宣传频道。我们也欢迎你提出如何改进本新闻通讯或为您提供信息的建议,这些信息可以帮助您最大限度地利用 OpenAPI Initiative 发布的规范。

OpenAPI 社区英雄 - Frank Kilcommins

作者 博客

欢迎来到我们关于我们认为是 OpenAPI 社区英雄的人物的系列文章的下一部分。这些人不遗余力地为 OpenAPI 规范 (OAS)、特别兴趣小组 (SIG) 或整个 OpenAPI Initiative 做出贡献。

我们很高兴分享我们的下一个社区英雄,Frank Kilcommins。Frank 在科技行业拥有超过 15 年的经验,他的角色涵盖软件工程到企业架构。他的使命是激励、参与和支持 API 社区和 SmartBear 客户,涵盖端到端的 API 开发生命周期和管理领域。

在加入 SmartBear 之前,他最近的角色专注于跨国企业中的 API 驱动型数字化转型和架构现代化。除了他在 SmartBear 的角色外,Frank 还是 OpenAPI Initiative 商业治理委员会的成员,并牵头了新的 API 工作流程 Arazzo 规范。

是什么驱使你对 OpenAPI 规范感兴趣并参与其中?

API 对我们周围的数字世界至关重要,它也是我在过去十年中一直投入大量精力研究的技术领域。我自然地被 规范 和标准带来的弹性和便利性所吸引,因此,我一直倡导在与基于 HTTP 的 API 交互的各种工作中采用和使用 OpenAPI。我最初与社区和 OpenAPI Initiative 的互动是为了学习(现在依然如此),但随着时间的推移,我能够支持他人并做出贡献。

你认为你对 OpenAPI 开发的最重要的个人贡献是什么?

我不得不说,倡导工作流程特别兴趣小组并推动创建 Arazzo 规范是我个人的亮点。

我对核心规范的贡献大多是口头的,或者通过 Slack 工作区进行的,除了将 https://spec.openapis.org.cn 网站改造成多规范兼容外。在更广泛的 OpenAPI Initiative 中,我还努力改进一些相关工件和存储库。这包括像“社区”这样的东西,以简化关于特别兴趣小组和参与的信息,“OpenAPI-Style-Guide”,以提供一个专用的杠铃标识和使用说明(是的,这很重要😉),以及 OAICourses 材料中的非常小的部分。

你认为 OpenAPI 第 4 版中最激动人心的提议功能是什么?

结构性变化将显著减少 OpenAPI 描述的冗余,这对处理大型 API 表面积的人和机器来说非常棒。此外,外部引用的硬化和改进的多文档支持将使我们作为工具构建者的生活更加美好,进而改善最终用户的开发体验。

Arazzo 规范将如何有利于 OpenAPI 规范的开发?

Arazzo 解决了一个非常自然的问题,即帮助描述针对特定用例的 API 调用序列,无论这些调用是在单个 OpenAPI 描述中,还是跨多个 API。总的来说,人类自然会以用例为基础进行思考和构建软件,因此我们预测 Arazzo 将有助于改善 API 设计和设计思维的现状。这种利基领域的关注可以使 OpenAPI 从核心规范的角度以及作者的角度受益,因为作者目前面临着试图将这种关联嵌入 markdown 或扩展的挑战。

展望未来,OpenAPI 和 Arazzo 之间有共享组件的范围/愿景,这将为社区带来另一组好处。

您对 OpenAPI 规范的未来有何展望?

我很高兴 Arazzo 规范的发布,以及 OAI 在 Linux 基金会下成为一个多规范项目的成熟。这与特殊兴趣小组的持续工作相结合,将有助于通过解决跨行业垂直领域和专业主题的社区需求,推动更全面的 OpenAPI 规范。

就我个人而言,我希望看到一个用于规范合规性的认证流程(其中一部分由 Henry Andrews 领导的 OASComply 项目推动)。确保工具供应商宣传合规级别可以提高 API 从业人员和最终用户的透明度。最终,它还有可能帮助加快新规范版本的采用。

您认为哪些其他标准发展对 API 经济特别重要?

现在大多数房间里的大象是 AI。很有趣的是看看 AI 将如何使用标准、连接到基于标准的 API,以及实际上帮助人类生成、理解和使用 API。Arazzo 规范以及 OpenAPI 4 的设计都是专门针对 AI 而设计的。例如,Arazzo 专门具有语义确定性,以确保 API 序列执行可以安全地移交给 AI 代理。

AsyncAPI 向 v3 代的演进也是值得关注的。OAI 和 AsyncAPI 之间的未来合作是自然而然的,因为在许多实际情况下,生产或使用 API 的人并不局限于单一风格。

在其他领域,我对 OAuth、OpenID Foundation 的 OpenID Connect 以及 FAPI 中的发展特别感兴趣。保持金融主题,PSD3 也承诺在强制执行 API 标准化和性能方面发挥作用。看到包括欧盟在内的各个政府对 API 的重要性形成观点,并提出对 API 标准和规范的意见,也令人鼓舞。

是否应该有更多的人参与开发 OpenAPI Initiative 规范,为什么?

当然!正如我一开始提到的,API 是使我们周围许多技术得以实现的关键组织。如果您对 API 感兴趣或充满热情,那么 OAI 是一个欢迎参与的社区。就像任何开源项目一样,参与和参与的形式多种多样,并适合各种技能。

Arazzo 的先买后付用例

作者 博客

先买后付——Arazzo 规范的用例示例

API 经济的持续增长为我们带来了越来越多的 API,我们将其用于构建系统和开展业务。随着 API 数量的增加,复杂性也随之而来。我们发现自己需要调用来自同一提供商以及多个 API 提供商的多个 API 来执行给定的业务功能。API 操作相互依赖性的增长创造了对以编程方式描述 API 调用序列的需求,这就是为什么我们的工作流程特殊兴趣小组创建了Arazzo 规范

Arazzo 是一种描述语言,可以引用多个 API,每个 API 都用 OpenAPI 描述或另一个 Arazzo 描述来描述,为 API 消费者提供了对复杂多步骤工作流程的丰富视图。Arazzo 支持描述动态值,允许 API 提供商或 API 市场指示 API 操作如何相互关联以及可以在每个步骤之间传递的输出和输入。在适当工具的支持下,这可以显着缩短 API 消费者的实现时间,并确保他们能够更准确地处理 API 请求序列。

Arazzo 描述的用例几乎可以应用于任何行业或垂直领域。例如,金融服务 API 演示了这种编排需求如何在整个生态系统中增长,其中需要按顺序调用的 API 示例在帐户开户和支付等操作中很常见。先买后付 (BNPL) 就是一个这样的用例,因为它通常需要多次 API 调用才能在购买时获得贷款。步骤序列可以概括如下

  1. 产品资格检查:客户在结账时选择 BNPL 选项。一个 API 调用被用来将客户购物车中的商品与 BNPL 融资选项进行关联。然后将 BNPL 选项显示给客户。
  2. 客户选择:客户从显示的列表中选择一个优惠。然后进行一个 API 调用来检索条款和条件。
  3. 资格验证:一旦客户选择了产品并接受了条款和条件,可能需要进行资格/信用检查,这可能涉及将客户注册到 BNPL 平台上。
  4. 启动 BNPL 交易:产品选择和资格完成后,BNPL 交易开始。结账提供商使用订单详细信息和客户信息向 BNPL 平台发出 API 调用。
  5. 身份验证和授权:然后可能要求客户在 BNPL 提供商处进行身份验证并授权交易。这可能通过重定向到 BNPL 平台来实现。
  6. 完成付款计划:交易验证和客户身份验证后,结账将检索贷款的最终详细信息,包括付款时间表、利率等。
  7. 订单确认:然后通过 API 调用发出 BNPL 交易和付款计划接受确认信号。
  8. 更新订单状态:随着融资的到位,电子商务平台将继续履行并向 BNPL 平台确认履行。
  9. 付款更新:可选地,对于基于订阅的产品,BNPL 平台可能会通过回调或 Webhook 向电子商务平台进行持续更新,包括未付款或贷款完成等事件。

下面的序列图反映了上面描述的步骤 1 到 8

这个例子反映了可组合软件服务是如何成为现实的,以及我们如何根据大量可用的 API 提供商来定制我们的平台。步骤和序列图展示了这种业务流程的典型复杂性,尤其是在电子商务领域,这正是 Arazzo 试图解决的问题。Arazzo 描述旨在帮助平台提供商描述他们 API 中的流程,并消除将它们拼接在一起的猜测。这对 API 消费者来说是一个巨大的优势,因为他们获得了所需步骤的结构化、版本化描述,他们可以使用这些描述来实现他们的集成。这为 API 消费者提供了一个参考点,他们可以依靠它来确保他们的工作流程按预期实施并正常工作。

为了帮助将这个例子变为现实,我们在 Arazzo 规范存储库中创建了一个 BNPL Arazzo 描述OpenAPI 描述

BNPL 描述包括上面描述的序列的输入,定义为 工作流程对象

- workflowId: ApplyForLoanAtCheckout
  summary: Apply for a loan at checkout using a BNPL platform
  description: Describes the steps to secure a loan at checkout from a BNPL platform. It is a multistep process that requires multiple API calls across several API providers to be completed successfully.
  inputs:
    type: object
    required:
      - customer
      - products
    properties:
      customer:
        # Customer properties
      products:
        # Product properties

工作流程对象定义了启动流程所需的参数,在本例中,包括执行第一个 API 调用以检查产品资格以及稍后检查客户贷款资格的参数。此工作流程的输入是

  • 客户详细信息,可以是完整详细信息,也可以是指示现有客户资源的 URL(如果客户已在 BNPL 平台上注册)。
  • 产品数组,用于评估客户购物车资格以获得 BNPL 平台上的结账贷款。

然后,序列中的所有其他参数都是使用来自每个 API 调用的响应属性来获取的。这些由 步骤对象 表示,步骤对象定义了序列、指示步骤成功的条件以及指向可以在步骤之间传递的动态值的指针。

例如,我们 BNPL 用例中的第一步是检查客户购物车中符合贷款资格的产品。这在下面的步骤对象中封装

- stepId: checkLoanCanBeProvided
  description: |
    Call the BNPL API to filter the basket for products qualifying for checkout loans. Pass in the array of products from the workflow input as the payload for the API call.

    Act on the response payload:

    - If a list of qualifying products is returned then submit customer choices.
    - If the list of qualifying products is empty then end the workflow
  operationId: findEligibleProducts
  requestBody:
    contentType: application/json
    payload: |
      {
        "customer": "{$inputs.customer}",
        "products": "{$inputs.products}"
      }
  successCriteria:
    - condition: $statusCode == 200
  onSuccess:
    - name: existingCustomerNotEligible
      type: end
      criteria:
        - condition: $statusCode == 200
        - condition: $response.body.existingCustomerNotEligible == false
    - name: qualifyingProductsFound
      type: goto
      stepId: getCustomerTermsAndConditions
      criteria:
        - condition: $statusCode == 200
        - context: $response.body
          type: jsonpath
          condition: $[?count(@.products) > 0]
    - name: qualifyingProductsNotFound
      type: end
      criteria:
        - condition: $statusCode == 200
        - context: $response.body
          type: jsonpath
          condition: $[?count(@.products) == 0]
  outputs:
    eligibilityCheckRequired: $response.body.eligibilityCheckRequired
    eligibleProducts: $response.body.products
    totalLoanAmount: $response.body.totalAmount

步骤对象定义提供了

  • 定义的唯一标识符。
  • 对目标 OpenAPI 描述中关联操作的 operationId 值的引用。
  • 请求体对象,用于描述步骤的输入,其中可能包括在工作流程对象中定义的外部输入。在本例中,我们引用了客户购物车中的产品及其客户详细信息。
  • 定义步骤是否成功的成功条件。这通过使用 HTTP 返回码和响应体属性(使用 JSON Path 引用)评估的一个或多个条件来表达。
  • 关于 API 调用成功时该做什么的指示。在本例中,如果返回零个符合资格的产品,工作流程将结束。
  • 步骤的输出,允许将动态值传递给后续步骤。在我们的示例中,这些包括可以显示给客户的已过滤产品详细信息,以指示哪些产品符合 BNPL 贷款资格以及是否需要进行客户资格检查。

因此,Arazzo 规范旨在提供一种简单、声明式的方法来描述 API 调用序列,以提供 API 提供商的灵活性并简化 API 消费者的使用。您可以按照上面的链接使用完整的示例,了解有关 Arazzo 规范如何帮助您描述复杂的、多步骤的 API 调用序列的更多信息。

如果您有兴趣了解更多关于 Arazzo 的信息,请阅读规范,访问我们的讨论或加入我们的Slack。非常欢迎您对 Arazzo 规范的反馈!

OpenAPI Initiative 新闻稿——2024 年 6 月

作者 博客

欢迎阅读 OpenAPI Initiative 2024 年 6 月新闻稿,这是我们定期发布的关于 OpenAPI 领域最新故事的综述。

倡议新闻

我们很高兴地宣布 Arazzo 规范的 1.0.0 版本!Arazzo 是工作流程规范的新的官方名称,该名称是在社区经过多轮辩论后决定的。Arazzo 是一种规范,允许 API 提供商描述 API 调用序列,无论是在一个 API 内还是跨多个 API,并提供将它们链接在一起的方法,以便实现者可以根据已知的成功和失败标准来协调一系列步骤。Arazzo 是描述日益复杂的 API 领域的重要一步。您可以在我们的公告中了解更多关于 Arazzo 的信息。


Arazzo 规范的宣布意味着 OpenAPI Initiative 正向多规范组织发展,OpenAPI 规范和 Arazzo 规范都属于 OpenAPI Initiative 伞形组织。这将改变我们如何始终如一地维护规范,尤其是在未来添加更多规范时。我们将在未来的帖子中讨论这一点,该帖子将更详细地描述我们不断发展的格局和治理方法。


如果您想知道:Arazzo 在意大利语中意为“挂毯”,之所以选择它,是因为该规范既与将小东西复杂地编织在一起有关,又与讲述一个比其各个部分的总和更大的故事有关。

规范新闻

随着计划中的 3.0 和 3.1 分支补丁版本的发布,OpenAPI 规范项目进入了“澄清季节”。这些更改解决了常见问题和困惑,以确保规范尽可能清晰。我们还对用于从我们在存储库中维护的 Markdown 源代码发布规范为 HTML 的工具进行了改进,为发布新版本做准备。您可以在 GitHub 上的OpenAPI-Specification 存储库上查看所有更改和活动。

我们最大的贡献者,帮助澄清 OpenAPI 规范并解决规范中大量歧义和开放性问题的是 Henry Andrews。衷心感谢 Henry 为使我们的“小字号”变得易于理解付出的所有努力。

我们每周的的技术开发者社区会议(太平洋时间周四上午 9 点,欢迎所有人参加)参与度很高,充满了深思熟虑的辩论和讨论,而会议上的参与度以及会议间的所有辛勤工作都在继续推动我们有目标地前进。

社区新闻

在本期通讯中,我们宣布了我们的社区英雄功能,该功能提供了一个宝贵 OpenAPI 社区成员的简介。在本期首个功能中,我们采访了 Henry Andrews,他是 OpenAPI 和 JSON Schema 的主题专家,也是社区中一位多产的贡献者。您可以在我们的博客上阅读更多内容。

我们还可以向您通报即将发布的第一个 OpenAPI Initiative 训练课程:OpenAPI 基础知识。本课程提供 OpenAPI 的基础知识,包括该语言的历史以及创建和使用 OpenAPI 描述的实际示例。本免费课程将于 2024 年 6 月 11 日在 Linux 基金会 培训和认证 平台上提供。

活动综述

北半球的夏季正在迅速临近,因此,会议日程往往会暂停。但是,自从我们上次通讯以来,我们一直在忙于在各种会议上举办我们的 OAI 环节。OAI 环节旨在汇集社区领导者和实践者,为 OpenAPI Initiative 规范范围内的主题提供一系列重点关注且详细的演讲。这些环节由 Erik Wilde 协调,他将它们描述为


“OAI 环节将 API 社区围绕 OpenAPI 和标准化聚集在一起。我们通常会进行关于核心规范主题的演讲,讨论实践和工具,我们还会邀请演讲者分享 OpenAPI 和标准化如何在他们的 API 之旅中帮助他们。加入任何 OAI 环节,获取有关 OpenAPI 和其他 OAI 活动的最新消息和高质量的演讲!”


OAI 环节于 4 月和 5 月在新加坡、纽约和赫尔辛基的三个 apidays 会议 上举办,并在 4 月在德国美因茨举行的 JAX 会议 上举办。我们听到了来自优秀演讲者的精彩演讲,包括 Frank Kilcommins,他介绍了 Arazzo 的细微之处(包括 在 apidays 赫尔辛基揭示名称)。Darrel Miller 在纽约探讨了针对“SDK 厌恶者”的 API 使用情况,而 Sohaib Tariq 在新加坡讨论了从一百万个 API 定义中汲取的经验教训。


我们将在未来在各种会议上举办 OAI 环节,包括 apidays 巴黎会议,我们计划在该会议上提供关于 OpenAPI 的广泛培训课程。我们将在今年下半年推出官方“OAI 认证计划”,包括 apidays 巴黎会议现场培训课程和在线课程。请继续关注详细信息,并查看 OAI 活动日历 以获取即将举行的所有活动的完整列表。


我们也希望听到您的声音!请在 Slack 上的 Outreach 频道上联系我们,分享有关即将举行的活动、聚会或您想与 OpenAPI 社区分享的任何信息。我们也希望了解您在设计和实现 API 时使用 OpenAPI 的经验,并在我们的博客上与社区分享这些经验。

最后...

本期通讯就到这里。如果您想与 OpenAPI 社区分享新闻,请通过电子邮件或 加入 Slack 上的 Outreach 频道 联系我们。我们也欢迎您提出关于如何改进本期通讯或为您提供信息以帮助您充分利用 OpenAPI Initiative 发布的规范的建议。

使用 Arazzo 满足编排需求

By 公告, 博客

今天,我们很高兴宣布发布 Arazzo,这是一项新的 OpenAPI Initiative 规范,旨在描述一系列 API 调用,以满足 API 提供者和消费者对编排的需求。

在越来越依靠 API 的数字经济中,需要准确地反映实现业务所需的越来越复杂的集成。组织调用多个 API 来执行业务流程和功能,有时会跨越多个服务提供商,因此需要指导和支持来正确实现 API 调用序列,并注意每一步的成功与失败。

作为 OpenAPI Initiative 规范范围的一部分,工作流特别兴趣小组 (SIG) 创建了 Arazzo 规范的首个版本,以满足日益复杂的集成需求。Arazzo 将允许 API 和集成服务提供商在 OpenAPI 规范的基础上构建,提供有关组成流程或功能的 API 调用序列的信息。

使用 Arazzo,API 提供者可以

  • 将多个操作(通过 OpenAPI 或其他 Arazzo 描述描述)链接到一个活动序列中。
  • 提供基于 API 消费者调用的 API 所接收的响应描述成功或失败的条件。
  • 实现变量,这些变量可以将动态变量从一个 API 调用传递到另一个 API 调用,确保根据需要在描述的序列的上下文中成功传递数据。

与 OpenAPI 规范一样,其目标是创建一个丰富的描述语言,可用于文档,也可用于从机器可读源自动创建集成代码。

SmartBear 首席 API 布道师兼工作流 SIG 团队成员 Frank Kilcommins 将 Arazzo 描述为

“提高整个行业 API 成熟度的重要里程碑。通过为基于价值的 API 使用提供确定性的方案,Arazzo 规范通过其人机可读属性充当活生生的 API 文档,减少了对带外入职指南的依赖。它确保了 API 提供者和整个 API 生命周期中的监管利益相关者在可断言的质量,同时还使工具供应商能够创建下一波 SDK 和代码生成器。

Arazzo 规范使人类 API 消费者能够更好地了解如何使用和组合 API,专注于他们需要完成的任务,从而减少他们的平均集成时间。同时,它为新一代 AI 消费者提供了一种一致且可互操作的机制,以便首次并始终实现预期的 API 结果。”

随着越来越多的组织和工具制造商实施该规范,Arazzo 将不断发展。请访问规范 页面存储库,或加入我们的 Slack 频道 以了解更多信息。

OpenAPI 月球漫步 2024

By 公告, 博客, 新闻

一名宇航员在月球上插着一面印有 OpenAPI 徽标的旗帜。OpenAPI 规范的未来是什么?v4 将如何改进 OpenAPI v3 的成功?规范如何在人工智能和 LLM 的背景下帮助解决问题?

随着 2023 年的结束,这些问题的答案开始成形。随着在 **2024 年底推出 v4 “月球漫步”** 的积极目标,这将是令人激动的一年。

由于有如此多的工作要做,因此有必要制定一些指导原则。在回顾了过去一年的主要提案和讨论后,这些原则是 **语义**、**签名**、**包容性**、**组织**、**升级**,并且它们的顺序很重要。

    1. **🌖 语义提供目的。**仅仅描述 API 的机制是不够的,还需要描述其语义,无论消费者是人还是人工智能。语义将 **什么** (……这能做什么?)和 **为什么** (……这很重要?)与 **如何** (……这是如何工作的?)结合在一起。

      OpenAPI 帮助人们更快地构建更好的 API,并且工具生态系统每年都在不断地提供更多价值。如今 2023 年的新事物是新型 API 消费者——生成式人工智能的兴起。LLM 可以处理 OpenAPI 描述,然后使用该 API 来解决问题。由于生成式人工智能能够理解自然语言,因此 OpenAPI 可以帮助为非开发者带来 API 的力量,这种可访问性是前所未有的。为了充分实现这一潜力,API 生产者应该用传达这些 API 操作的含义和目的的详细信息来装饰其对 HTTP 请求的机械描述。这反过来又可以帮助人和 LLM 获得更好的结果。

      换句话说,人们几个世纪以来一直在使用松散的自然语言进行交流,而我们几十年来一直在使用严谨的编程语言与机器交流。LLM 弥合了松散和严谨世界的差距,这意味着以前无法使用 API 的大量人群现在可以使用 API。

      无论您对生成式人工智能的看法如何,从炒作过度到改变世界,我们都可以预期许多人将使用 OpenAPI 来驱动基于人工智能的 API 消费者。如果 OpenAPI 不努力满足该社区的需求,他们将找到替代方案。

    2. **🌒 请签名!** API 代表着一组函数,每个函数描述一个面向客户端的目的。函数可以通过其签名来识别,该签名与一组 HTTP 交互相关。月球漫步将这一概念置于其中心。

      任何 HTTP API 始终是实现某种目的的手段。API 消费者更喜欢重用现有功能,理想情况下,他们可以使用最自然的术语了解该功能。PUT/PATCH/DELETE 返回 200 或 204 是实现细节,与它对客户端执行的功能相比相形见绌。如今,OpenAPI 中表达 API 函数签名的方式有限。路径项无法使用查询参数来区分操作。每个 HTTP 方法只能有一个操作。由于缺乏正式的唯一签名定义,这些是对 API 函数签名的人为约束。OpenAPI 过去的工作重点在于使开发人员能够描述 HTTP API。这重新确定了它们的优先级,以便开发人员可以使用 OpenAPI 来定义具有唯一签名的 API 函数,然后将每个签名映射到 HTTP 机制。

    1. 🌕 包容需要一个大帐篷:Moonwalk 旨在描述所有基于 HTTP 的 API。虽然它在 HTTP API 的设计方面保持中立,但它认识到拥有不同设计风格和观点的重要性。

      Moonwalk 应该能够描述开发人员可能已经拥有的 HTTP API,以及设计他们可能想要构建的 API。它应该能够将 API 函数的签名准确地映射到 API 提供的 HTTP 请求和响应的实际实例。Moonwalk 确实偏好资源导向的 API 风格,因为它们非常受欢迎,但它应该能够描述纯粹的 RPC API,即使这些 API 签名是通过 HTTP 头部值或请求主体值区分的。

    1. 🌗 通过关注点分离进行组织。例如,API 的变化形状应该独立于 API 部署进行移动。API 部署可以使用不同的安全方案进行保护。API 函数的签名不应该与内容模式格式紧密耦合。

      为了支持不断增长的具有不同需求的客户群,功能数量无疑会增长,从而引入更多复杂性。为了抵消这一点,我们将对 API 描述的不同方面的模块化应用更严格的措施。我们将努力消除当前存在的歧义,并利用现有标准来减少不必要的创新。我们的目标是为 API 描述的消费者、作者和工具提供者提供更好的体验。

    1. 🌑 机械升级。OpenAPI v3 的一个重要原则是在 v2 上提供直接升级路径。Moonwalk 继承了这一点,这意味着必须再次能够从 v3(以及 v2)机械升级到 Moonwalk。

像 OpenAPI 这样的重要开源项目依赖于许多人的贡献。如果您像我们一样对以上想法或利用 AI 来帮助更多人使用 API 的机会感到兴奋,那么请加入我们!一个很好的开始方式是加入我们每周四的电话会议(详情),欢迎任何想加入的人!

 

Apidays Paris 2023 – 具有 OpenAPI 轨道 – 即将在十二月举行!

By 公告, 博客, 事件

OpenAPI 规范是软件开发和 API 交付的不可或缺的一部分。在 2023 年,我们加入了多个与 API 相关的会议,以直接与全球的 API 用户和爱好者联系。下一个目的地,光之城!加入我们,参加 OpenAPI Initiative 在 2023 年 12 月 6 日至 7 日在巴黎 apidays 上举办的“OAI 轨道”!

请查看我们的 apidays 巴黎活动页面.

什么是 OAI 轨道?

OAI 轨道是 apidays 巴黎的一个专门论坛,由 OpenAPI Initiative (OAI) 主办。这个重点轨道旨在为 API 从业人员提供一个平台,让他们分享和交流有关 OpenAPI 的有价值的见解、经验和最佳实践。在巴黎,我们将有 3 个不同的环节,总共 12 位演讲者!

OAI 轨道项目环节

  • API 规范的当前和未来趋势
  • 通过 API 描述改进 API 和 API 环境
  • 使用 API 描述进行 API 治理和管理

征集投稿

OAI 轨道目前正在邀请感兴趣的个人和组织投稿。如果您有经验或见解要分享,我们很乐意将您的声音纳入讨论。

👉 在这里提交您的提案:https://apidays.typeform.com/to/ILJeAaV8?typeform-source=www.apidays.global#event_name=xxxxx

👉 在这里注册:https://ticket.apidays.global/event/apidays-paris-2023/8a1f3904-e2be-4c69-a880-37d2ddf1027d/cart

您为什么要参加?

  • 知识分享:从积极参与 API 管理和 OpenAPI 规范的行业专家和同行那里学习。
  • 人脉拓展:与充满激情的 API 开发人员、架构师和业务利益相关者社区联系。
  • 可见性:有机会向高度专业和相关的受众展示您的工作和见解。

加入我们,加入对话!

无论您是熟练的 API 工匠还是热衷于利用 API 魔法的企业有远见者,OAI 轨道都提供了一个绝佳的平台,让您沉浸在 API 世界的精华之中并与之互动。

日期:2023 年 12 月 6 日至 8 日

地点:巴黎拉德芳斯 CNIT

不要错过这个独特的机会。标记您的日历,并准备深入了解 OpenAPI 的世界。

希望在那里见到您!


有关更多更新和公告,请关注我们的 apidays 巴黎 页面。

加入我们在 2023 年 apidays 澳大利亚参加全天 OAI 轨道

By 博客, 事件

OpenAPI 规范是 API 开发和交付的不可或缺的一部分。在 2023 年,我们加入了多个与 API 相关的会议,以直接与全球的 API 用户和爱好者联系。加入我们,参加 OpenAPI Initiative 在 2023 年 10 月 11 日至 12 日在墨尔本举行的 apidays 澳大利亚的“OAI 轨道”!

什么是 OAI 轨道?

OAI 轨道是 OpenAPI Initiative (OAI) 主办的专门论坛,作为 apidays 澳大利亚大会的一部分。这个重点轨道旨在为 API 从业人员提供一个平台,让他们分享和交流有关 OpenAPI 的有价值的见解、经验和最佳实践。

重点关注领域

  • 用户故事:您或您的组织如何使用 OpenAPI?
  • 工具:展示您使用或开发的用于增强 OpenAPI 利用率的工具。
  • 规范扩展:分享您对 OpenAPI 规范所做的任何增强或调整,这些增强或调整可能对更广泛的 API 社区有利。

征集投稿

OAI 轨道目前正在邀请感兴趣的个人和组织投稿。如果您有经验或见解要分享,我们很乐意将您的声音纳入讨论。

👉 在这里提交您的提案:https://apidays.typeform.com/to/ILJeAaV8?typeform-source=www.apidays.global#event_name=xxxxx

您为什么要参加?

  • 知识分享:从积极参与 API 管理和 OpenAPI 规范的行业专家和同行那里学习。
  • 人脉拓展:与充满激情的 API 开发人员、架构师和业务利益相关者社区联系。
  • 可见性:有机会向高度专业和相关的受众展示您的工作和见解。

获得启发:听取 apidays 创始人谈话

您是否还在犹豫 OAI 轨道是否适合您?听取 Mehdi Medjaoui,apidays 的创始人,与 Erik Wilde 讨论 OAI 轨道在 apidays 活动中的本质和愿景。

加入社区!

apidays 澳大利亚不仅仅是另一个科技活动;它是一个丰富的学习场所,也是推动 API 生态系统发展的想法的启动平台。无论您是经验丰富的 API 开发人员还是希望利用 API 力量的业务领导者,OAI 轨道都提供了一个无与伦比的机会,让您与 API 社区互动。

保存日期:2023 年 10 月 11 日和 12 日

地点:墨尔本阿尔伯特公园铂尔曼酒店,澳大利亚墨尔本

您可以在此处注册:https://ticket.apidays.global/event/apidays-australia-2023/f2d35972-9e81-401d-a29a-285fa1d00974/cart

不要错过这个独特的机会。在 此处 提交您的提案,标记您的日历,并准备深入了解 OpenAPI 的世界。

希望在那里见到您!
有关更多更新和公告,请关注我们的 apidays 澳大利亚 页面。