跳至主要内容
所有帖子作者

OpenAPI Initiative

企业软件先驱 IFS 加入 OpenAPI Initiative

作者 博客

OpenAPI Initiative 很高兴欢迎 IFS 成为新的 OpenAPI 成员!IFS 为全球各地的客户开发和交付企业软件,这些客户制造和分销商品、建造和维护资产以及管理以服务为中心的运营。这包括服务管理、企业资源计划 (ERP) 和企业资产管理 (EAM)。该公司的旗舰产品是 IFS Applications,它直接或通过全球超过 400 家合作伙伴的生态系统开发、供应和实施该产品。IFS 成立于 1983 年,拥有超过 3,700 名员工,为全球超过 10,000 名客户提供支持,预计 2019 年收入将超过 7 亿美元。

“IFS 很高兴加入 OpenAPI Initiative。支持 OpenAPI 规范(一种供应商中立的描述格式)的开源开发和治理将使 IFS 客户受益,使他们能够更轻松地将其软件集成到其业务和 IT 环境中,并使他们能够在‘外部’扩展解决方案作为使用更具侵入性的自定义的替代方案,”IFS 首席技术官 Dan Matthews 表示。“欢迎咨询我们的开发和支持团队,了解使用 OpenAPI 规范如何帮助您的 IFS 实施。”

IFS 和 OpenAPI

IFS 支持 OpenAPI 规范 (OAS) v3,并且已经使用 OAS 及其前身 Swagger 规范一段时间了。IFS Applications 完全支持 API,拥有超过 10,000 个原生 RESTFul OData API,涵盖了全部功能。所有 API 都提供 OpenAPI 规范。

联系 IFS

了解有关 IFS 企业软件解决方案如何帮助您今天开展业务的更多信息,请访问 ifs.com

关注 IFS 的 Twitter:@ifs 

访问 IFS 博客,了解有关技术、创新和创意的信息:https://blog.ifs.com/

更多 OpenAPI 资源

来自 Bitmovin:我们使用标准化 SDK 的 OpenAPI 之旅

作者 博客

这篇博文最初由Sebastian Burgstaller为 Bitmovin 博客撰写。Bitmovin 是 OpenAPI Initiative 的成员。


不要错过今年最全面的 API 活动 ASC 2019,该活动将于 10 月 15 日至 17 日在不列颠哥伦比亚省温哥华举行。此处提供信息和注册详情


与大多数技术产品一样,文档是客户成功的关键因素,对于 API 驱动的产品而言,这种观点更加正确,但良好的文档仅是故事的一部分。当然,我们提供了一个漂亮的仪表板,在那里绝对可以启动 编码,但我们仍然发现,在我们系统中处理的大部分编码都是通过 API 调用启动的。即使这样,最好的 API 文档也只能让你走这么远——如果没有 API SDK,你需要自己实现所有调用,然后才能享受你第一次编码的内容。这就是为什么 Bitmovin 团队始终为每个 API SDK 提供多种不同编程语言的详细文档,以便任何开发人员都可以在几分钟内启动他们的第一次编码。

保持文档和 SDK 同步绝非易事,尤其是在每周添加新功能时。我们需要一种更好的方法来连接这些部分,我们的搜索将我们引向了 OpenAPI 3.0 规范。

长话短说:在过去的一年中,我们将现有的 API Blueprint 文档迁移到 OpenAPI 格式。此迁移详细说明了 800 多个端点,因此需要大量的工程量,但正因为如此,我们不仅能够提供令人惊叹且详细的文档,还可以生成我们的 API SDK,使其与我们的完整功能集保持同步。

让我们深入了解我们旅程的细节,并展示我们在过程中取得的其他重大成果。

什么是 OpenAPI?

OpenAPI 规范(以前称为 Swagger 规范)定义了如何以机器可读的方式描述和记录 RESTful Web 服务。对我们来说,这一点至关重要,因为我们希望为客户提供美观且易于发现的文档。随着时间的推移,出现了不同的规范格式,如 RAML 或 API Blueprint,但行业越来越趋向于 OpenAPI。2015 年,OpenAPI Initiative 成立,将谷歌、微软、IBM 等多家公司的努力整合到一个框架下。这向业界发出了一个强烈的信号,表明这种文档格式即将成为事实上的标准,并且可以高度信赖地使用。从那时起,不同的公司和社区贡献了许多优秀的工具。

OpenAPI 的技术背景

OpenAPI 文档以 JSON 或 YAML 语法编写,并结构化为以下块

对我们来说,最重要的块是 components,其中包含我们在请求和/或响应的 HTTP 主体中使用的所有模型,以及 paths,其中包含 API 提供的所有端点和操作的列表。一个简单的 OpenAPI 文档示例可以在此处找到。

那么为什么要迁移到 OpenAPI 呢?

更好的文档有助于工程团队轻松扩展并跟上要求苛刻的项目。以下是一些 Bitmovin 决定迁移到 OpenAPI 的主要原因:

1. 简化和可搜索的在线文档

凭借我们新的 API 定义,我们能够探索 OpenAPI 生态系统中面向文档的工具。这使我们找到了swagger-ui项目,该项目现在是我们在线API 参考的基础。现在,我们的文档不仅列出了我们产品的每个端点,还详细描述了它们,包括示例请求和示例响应。

我们发现,大多数技术人员更喜欢通过测试来了解新功能,这就是为什么我们允许登录用户直接从端点文档发送请求。要了解其工作原理,只需点击“试用”按钮并填写请求详细信息即可——无需输入您的 API 密钥,我们已为您配置好。没有 Bitmovin 帐户?立即注册 30 天免费试用

在创建文档时,不仅要提供有意义、完整和最新的信息,而且还要确保所有这些信息都易于发现和访问。这就是我们在 API 文档周围构建强大的全文搜索功能的原因。例如,想要查找用于为您的编码创建缩略图的端点?只需在顶部搜索栏中搜索“缩略图”,所有资源就会在眨眼间列出。

2. 多语言 SDK 代码生成

为了让我们的客户尽可能轻松愉快地使用我们的产品,我们提供了七种不同语言的 API SDK:Java、JavaScript、Python、Go、PHP、Ruby 和 C#。这些 SDK 受到积极的支持,但始终难以跟上产品开发的速度。添加的每个新功能都意味着它也必须在这些 SDK 代码库中实现。由于这是一个耗时(且容易出错)的过程,因此我们决定探索 SDK 代码生成的可能性。

OpenAPI 生成器是一个用 Java 编写的开源项目,可以为多种不同的语言生成 API SDK。这是通过结合特定于语言的代码和一些Mustache 模板来完成的。生成器代码定义了哪些关键字在特定语言中是保留的,或者定义了变量和方法的大小写。模板基本上是带占位符的代码片段,这些代码片段与我们的 API 定义结合在一起,将形成与 API 通信所需的 API SDK 代码。

我们评估了现有的生成器,发现它非常适合中小型 API,但对于我们的用例来说,它最终过于限制性。让我们来看一个例子:要获取在 API 中创建的特定 AWS S3 输入的详细信息,需要调用此端点

GET https://api.bitmovin.com/v1/encoding/inputs/s3/{input_id}

使用默认生成器生成 Java SDK 后,我们将能够以以下方式调用此端点

S3Input s3Input = client.getEncodingInputsS3ByInputId(inputId);

如您所见,该方法作为客户端对象的一部分生成。实际上,此单个客户端对象将包含我们所有 API 方法——我们的整个 API 表面

我们理念的一个关键方面是,我们的客户需要能够配置编码作业的每个细节。我们提供的这种强大功能和自由自然会导致更大的 API 表面。我们不希望将所有这些方法都放在一个 API 客户端对象中,而是希望我们的 SDK 结构尽可能地与我们的 API 相似。它们应该易于探索,并清楚地表明在任何时候都会调用哪个端点。

S3Input s3Input = client.encoding.inputs.s3.get(inputId);

因此,我们决定在生成器项目之上编写我们自己的生成器逻辑和模板。端点 URL 的每个斜杠 (/) 也应该是我们 SDK 中的分隔符,这意味着每个资源的方法都在其自己的小型子 API 客户端对象中生成。这确保了我们的 SDK 用户不会被需要在任何给定时间从中选择的方法数量所淹没。它实现了我们追求的探索性 API 使用方式。

当我们开始编写我们自己的生成器代码和模板时,我们估计这将是一个相对简单的任务——毕竟,我们只想重构已经生成的代码。然而,事实证明,生成器的当前设计并不像我们计划的那样鼓励扩展。我们仍然设法将生成器项目用作基础,并且很高兴拥有它,但我们不得不投入比预期更多的时间。在完成所有这些工作之后,我们认为像 JavaScript 这样的动态类型语言可能更适合 API SDK 生成器,因为它提供了自然的自定义可能性。我们可能低估的另一个点是,为其各自的语言设计 API SDK 以使其尽可能地符合习惯用法的努力。使用 SDK 应该很有趣,并且对我们的客户来说感觉自然,但同时代码需要面向未来,鼓励添加功能而不产生破坏性更改。

3. 持续集成和交付

现在我们能够生成 API SDK 了,下一步是自动化此过程。我们现在处于一个可以为我们的文档创建新的 API 端点原型,并在几分钟内准备好一个自动生成和测试的 SDK 的状态。在此过程中,文档也会自动进行完整性检查,并执行一系列语义验证。

为了 100% 确保每个 SDK 版本都完全有效,我们创建了一套数十个存根 HTTP 调用,每个 SDK 都必须发出这些调用并在集成测试中进行验证。如果某个 SDK 未执行套件中的请求或未能正确处理响应,我们将立即停止交付过程并提醒我们的工程师出现的问题。我们使用 Wiremock 作为模拟服务器,因为它事实证明是集成到我们的自动化构建过程中的完美工具。

采用 OpenAPI 对工程团队的影响

在 Bitmovin,关于新端点设计的讨论现在集中在文档生成的代码上。我们甚至可以编写(尚未运行但可以编译)示例工作流程,这些工作流程展示了新功能如何在其他功能的上下文中使用。一旦我们对文档满意,我们就可以开始在我们的后端服务中实现必要的更改。最后,我们通过编写端到端测试来试用我们生成的 SDK,这些测试在每晚都会启动(大量)真实的编码。所有这些步骤确保了后端服务中的一切都已正确实现,并且与我们在 API 文档中定义的内容相匹配,这是一种我们以前仅使用旧版 API 文档时从未有过的安全保障。

Bitmovin 的 OpenAPI 之旅的下一步

我们已经向公众发布了 7 个计划中的 API SDK 中的 5 个。第一个(Java)作为稳定版本可用,并且从现在开始不会经历任何重大更改。其他 SDK 将在不久的将来推出,我们很乐意接受您的想法和建议,以便我们交付尽可能好的 SDK。每个 SDK 都会附带一组示例,因此您可以快速了解如何使用新的 SDK。

我们非常高兴我们为 API 文档切换到 OpenAPI,因为这将节省我们未来很多时间,我们现在可以将这些时间投入到功能开发中。保证正确且超快速的 SDK 更新、美观且可搜索的在线文档和丰富的工具等优势,以及我们尚未开发的其他优势,都为我们的客户和我们带来了巨大的质量改进。我们渴望看看我们接下来可以用 OpenAPI 做些什么。

OpenAPI 相关链接

SDK 存储库

推出 ASC,API 规范大会

作者 博客

2019 年 10 月 15 日至 17 日,加拿大温哥华

两年前,OpenAPI Initiative 接管了 APIStrat(API 策略大会)的领导权,该大会是由 3Scale 团队在之前七年运营的。我们在 2017 年在波特兰和次年在纳什维尔举办了 APIStrat,这两个活动的与会者都对他们学到的知识、进行的对话以及在友好的 API 社区中建立的联系赞不绝口。

多年来,APIStrat 为 API 社区带来了巨大的价值。但是,像所有优秀的 API 一样,会议也需要发展以确保持久性。因此,今天我们宣布了 ASC(API 规范大会)——一个体现我们对这种演变愿景的新活动。

技术会议越来越倾向于专注于特定的技术或技巧,为会议参与者提供大量关于他们感兴趣的特定领域的内容。近年来,API 社区的关注点已转向定义、描述和管理 API 边界的工具和技术。我们面临的许多挑战都与 API 提供者和 API 消费者之间的接口有关。使用某种类型的契约已成为常态,但开发和管理这些契约会带来自己独特的一系列问题和机会需要探索。

ASC 致力于将社区聚集在一起,展示和讨论专注于 API 接口各个生命周期的解决方案。我们明确选择会议名称是为了传达此活动并非完全专注于使用 OpenAPI 描述。

OpenAPI Initiative 从未将 OpenAPI 视为一刀切的解决方案。这就是为什么 ASC 欢迎来自 AsyncAPI、gRPC、GraphQL、OData 等以及 HTTP API 社区的参与和内容。此活动旨在让与会者分享和了解最适合他们尝试构建的应用程序的选项。

务必为 ASC'19 保留日期,该活动由 OpenAPI Initiative 于 10 月 15 日至 17 日在加拿大温哥华举办。我们希望在那里见到你!

要参加随机抽奖以获得免费注册 ASC 的资格,请向我们提供您的电子邮件地址,以便随时了解有关会议的最新信息。您必须在 5 月 24 日之前填写表格。抽奖将于 5 月 28 日举行。

Ably Realtime 加入 OpenAPI Initiative 分享流数据专业知识

作者 博客

Ably Realtime,基于云的实时流数据平台的创建者,最近宣布加入 OpenAPI Initiative (OAI)。Ably 加入 OIA 将帮助 Ably 平台的用户更轻松地参与实时数据供应链,同时使更广泛的 OAI 社区受益于 Ably 的专业知识以及从其广泛的客户群中吸取的经验教训,这些客户群涵盖技术、物流、体育等领域。

采用 OpenAPI 规范将使 Ably 客户能够更快地定义其数据,并使其更容易被发现,这要归功于数据定义是机器可读的。

OAI 原则增强了 Ably 在三个主要方向上的工作

1) 简化实时数据分发

OpenAPI 会员资格代表了 Ably 简化流数据分发任务的最新一步,它负责处理所有后台工作,包括企业对企业的数据交换和向最终用户的“最后一英里”交付。这使组织能够专注于共享和货币化其信息。

Ably 首席执行官 Matthew O’Riordan 表示:“加入 OpenAPI Initiative 完全符合我们使用开放协议和标准的理念。这将使我们的客户更容易使用易于理解的规范来定义人们如何使用其数据,这最终将使其更易于发现、使用和对他们更有价值。”

2) 使更广泛的开发者社区受益

Ably 的产品经过四年(以及 50,000 小时)的打造,专为开发人员而设计。根据 Ably 首席执行官的说法

“我们希望通过解决他们在尝试分发数据时面临的常见挑战来帮助人们释放其数据。我们的平台已经负责基础设施和协议互操作性,因此与 OAI 合作并将这些规范整合到我们的服务中,还可以处理数据定义和发现。”

O’Riordan 还揭示了 Ably 参与 OAI 的更广泛意义

“当我们的客户使用 OpenAPI 规范来定义其数据时,我们将帮助他们解决遇到的任何问题,并将这些经验反馈到规范中,以便整个社区受益。

“同样,我们内部团队也对学习 OAI 社区的最佳实践感到兴奋,我们可以将其反过来传达给使用 Ably 的开发人员社区。”

OAI 主席 Ole Lensmar 补充道:“OAI 对 Ably 加入感到非常兴奋——实时数据交付是为最终用户提供有竞争力的用户体验的关键,Ably 在此领域的公认领导地位和专业知识将对 OpenAPI 规范的技术发展和跨所有行业的实时 API 描述规范的采用大有裨益。”

3) 推动实时领域的开放创新

Ably 加入 OAI 与 Ably 开放数据流程序 (ODSP) 和 Ably Hub(数据流的中心来源)的推出相吻合。在 ODSP 下,任何生成数据流的人都可以使用 Ably 数据流交换 (DSX) 平台免费托管和分发数据,前提是他们将其免费提供给他人使用。这些开放的数据流将通过新推出的 Ably Hub 提供,这是一个类似应用商店的门户,开发人员可以在其中浏览和订阅实时数据馈送。

有关开放数据流程序的更多信息,请访问 Ably 网站 https://go.ably.io/open-data-streaming-program

要了解有关 Ably Realtime、数据流交换 (DSX) 和 Ably Hub 的更多信息,请访问 https://www.ably.io/dsx

###

Ably 实时数据平台是一个基于云的实时数据平台。它允许支持互联网的设备(例如计算机、手机、服务器或物联网传感器)在毫秒内彼此之间流式传输数据。Ably 实时数据平台的独特之处在于其数据流交换 (DSX),它为需要实时共享数据的企业以及构建实时服务的开发人员提供了企业级实时 API。这以无与伦比的 100% 服务可用性、消息传递保证和全球低延迟提供。了解更多信息,请访问 https://www.ably.io/dsx

eBay 为其所有 RESTful 公共 API 提供 OpenAPI 规范 (OAS)

作者 博客

今天,eBay 宣布 他们正在将其所有 RESTful 公共 API 利用 OpenAPI 规范 (OAS)。借助 OpenAPI,开发人员可以在几分钟内下载 eBay OpenAPI 合同、生成代码并成功调用 eBay API。API 在 eBay 的开发者生态系统中发挥着至关重要的作用,帮助公司为其买家和卖家构建和提供最佳体验。

“鉴于我们的需求和对围绕 OpenAPI 的令人难以置信的开发者生态系统的了解,转向使用 OpenAPI 规范是一个一致的选择,”eBay 端口兰德总经理兼 eBay 开发者生态系统副总裁 Gail Frederick 说。“OpenAPI 规范是描述 API 的事实标准,并在 eBay 新的基于微服务的架构中发挥着至关重要的作用。”

作为 OpenAPI Initiative 的成员和主席,我看到越来越多的公司转向分布式和基于微服务的架构,因为为用户构建高质量体验并更快地将产品或服务推向市场对于任何企业的成功都至关重要。为支持这种转变而创建的技术和工具主要来自开放式协作,涵盖了从 Node.js 等应用程序开发技术到 Kubernetes 等容器编排。由于 API 是分布式组件之间的“粘合剂”,因此 OAS 标准在此过渡中发挥着核心作用。

eBay 就是这种情况。随着 eBay 从单体和集中式架构过渡到分布式微服务架构,该公司需要发展探索、测试、发布和与 API 规范集成的服务合同的方式。

该公司对这次过渡有一系列需求

API 合同需要满足跨各种技术栈进行无缝探索和集成的需求,符合行业标准,并且功能丰富,以补充我们的技术标准和治理模型,因此需要探索新的规范。

主要标准是既可读懂也可由机器读取、与语言无关、与供应商无关且开源的规范。

由于 OAS 具有工具支持、完全可定制的堆栈、代码优先和契约优先的 API 开发方法,最重要的是因为 OpenAPI 继续作为由 OpenAPI Initiative 开放协作领导的标准而发展,因此它成为一致的选择。转向 OAS 进一步实现了 eBay 向其开发者生态系统承诺的使命,即通过不再需要 SDK 和不再需要花费数小时编写 API 客户端代码来提高开发人员的效率和生产力。

eBay 自 2017 年 8 月起就是 OpenAPI Initiative 的成员,并且是业界首批基于 OpenAPI 3.0 规范发布合同的公司之一。我们非常高兴地看到 eBay 继续支持我们的联盟以及其他开放协作项目,包括 云原生计算基金会 (CNCF)。我们期待在 9 月 24 日至 26 日在田纳西州纳什维尔举行的 API 策略与实践大会上分享更多关于 eBay 使用 OAS 的成功案例 以及构成我们生态系统的众多用户和成员。在此处了解有关此会议的更多信息 此处,并随时了解来自 OpenAPI Initiative 的新闻 此处

OAI 宣布 OpenAPI 规范 3.0.0

作者 博客

开放 API 计划 (OAI) 是一个由 Linux 基金会创建的旨在推进 API 技术的项目,宣布发布 OpenAPI 规范 3.0.0 版本。OAI 为开发 API 和其他技术的互操作性奠定了基础。

OpenAPI 规范 (OAS) v3 版本是来自多个行业(例如支付和银行、云计算、物联网以及构建 API 解决方案的供应商)的资深 API 开发人员和架构师近两年协作的成果。在 OAI 的支持下,这种协作提供了一种统一行业定义和描述 API 的方法——API 是当今互联世界中应用程序相互通信的基础服务。OpenAPI 规范定义了 RESTful API 的接口,以机器和人类易于发现和理解的格式描述资源和操作。

“第三代格式的发布是我们社区的一个重要里程碑,”SmartBear Software 首席技术官兼 OAI 董事会主席 Ole Lensmar 说。“所做的更新完全由用户和使用情况驱动,这在规范的成功中发挥着巨大作用。此版本最强大的功能之一是它能够推动整个 API 生命周期。”

新版本 3 中的主要改进包括支持描述回调、表达操作之间关系的链接、Webhook、增强的示例、改进的参数描述以及更好的多部分文档处理。其他功能增加了对模板化服务器 URL 和语义版本控制的支持。此处提供了详细列表:OpenAPI 规范 v3

“我们很高兴看到通用 OAI 规范的采用和验证不断增长,仅在过去 18 个月内成员公司数量就增长了近 4 倍,并且政府以及医疗保健和金融科技行业的兴趣也日益浓厚,”Linux 基金会执行董事 Jim Zemlin 说。“这种增长证明了社区通过 API 开放共享数据的愿景是正确的。”

API 已从开发技术提升为业务驱动因素,是技术创新和现代化的必要条件。根据 ProgrammableWeb 的数据,自 2005 年以来已发布了近 18,000 个公共 API,仅在 2017 年最后一个季度就增加了近 1,000 个。开放 API 计划成立于 2015 年,在过去 18 个月里成员数量已增至 27 个,并且继续加速发展,从 API 供应商扩展到包括全球银行、医疗保健和政府的领导者。

行业对 OAI 的支持

42Crunch
“42Crunch 很荣幸能成为开放 API 计划的一部分,”42Crunch 首席创新官 Philippe Leothaud 说。“OpenAPI 规范是开源的、与平台无关的、与供应商无关的并且可扩展的。利用这种事实标准将加速 API 在所有行业领域的采用,特别是帮助应用程序和设备自动使用 API。”

Hart
“医疗保健行业目前正在经历一场数据革命,API 成为首要议程,”Hart 总裁 Mohamed Alkady 说。“通过就通用 API 结构达成一致,任何人都可以快速帮助构建这个未来,而无需每次都重新学习新的命名法。随着 OAS3 的发布,我们越来越接近一个更完善的结构,该结构可以更普遍地使用和部署。我们相信开放 API 计划和联合技术将带来 API 开发的下一代变革,我们很高兴推动这一计划在医疗保健领域的向前发展。”

IBM
“OAI 已相对快速地发展了此规范,IBM 认知云和 API 经济团队已准备好采用这种新的开放规范”,IBM 数字业务集团开放技术副总裁 Todd Moore 说。“通过帮助建立 OAI,IBM 与其他了解企业系统稳健、可扩展和安全的 API 是现代数字生态系统基础的公司携手合作。此外,当今的软件开发人员希望使用开放工具来帮助他们快速且一致地创建 API 以加速业务转型。我们的客户信任 IBM 帮助他们管理其整个 API 管理生命周期。”

Kong (Mashape)
“Kong 是世界上最流行的开源 API 网关,我们见证了 OpenAPI 规范使用量的惊人增长,”Kong (Mashape) 首席技术官兼联合创始人 Marco Palladino 说。“API 规范是现代 API 开发、发布和使用工作流程的关键部分——开放 API 计划一直在不懈地推动行业领先的 OpenAPI 规范格式发展到其 3.0.0 里程碑版本。我们很高兴继续为 OAS 周围的工具生态系统做出贡献。”

Microsoft
“Microsoft 祝贺开放 API 计划及其开发人员发布 OpenAPI 规范第三版,”Azure 开发人员体验首席项目经理 Kamaljit Bath 说。“我们在整个公司中使用 OpenAPI,包括:用于描述 Azure API 和使用 AutoRest 工具生成客户端库、用于描述与 Azure LogicApps/Microsoft Flow 集成的 150 多项服务、用于客户描述他们引入 Azure API 管理服务的 API 以及用于描述我们为其生成文档的 API(托管在 https://docs.microsoft.com/ 和 https://apidocs.microsoft.com/ 上)。我们期待最新版本及其带来的改进,这些改进将简化 OpenAPI 描述的编写、维护和使用。”

MuleSoft
“OpenAPI 规范 (OAS) 的新版本包含了更全面地描述 API 的重要改进,”MuleSoft 首席技术官 Uri Sarid 说。“API 规范对于实现强大、高效且快速增长的业务功能市场至关重要。这些市场反过来又成为企业、政府和整个行业的数字化转型的核心。OAS 版本 3 提供了一种广泛的 API 描述格式,RAML 提供了一种强大的 API 建模格式,API 建模框架利用这两者来提供可重用性和一致性以及用于构建 API 工具的通用 SDK。我们期待继续投资于这些领域,并推动 OAI 标准的进步,为 API 生态系统创造价值。”

Red Hat
“Red Hat 坚定地相信开放标准和开源,”Red Hat Inc. API 管理高级总监兼负责人 Steven Willmott 说。“开放 API 计划的进展和此版本展示了社区的力量,我们很高兴看到行业围绕强大的通用标准达成共识。”

SmartBear
“SmartBear 是开源社区的坚定支持者,于 2015 年将原始 Swagger 规范捐赠给了 OAI。规范的演变表明,将来自各行各业的协作者聚集在一起,以开放和透明的方式发展规范以满足全球 API 开发人员和使用者需求的力量,”SmartBear Swagger 开发人员布道师 Ron Ratovsky 说。“SmartBear 致力于通过我们的开源 Swagger 工具和我们的集成平台 SwaggerHub 支持 OAS 3.0。”

Tyk Technologies
“越来越多的客户正在采用 OpenAPI 规范作为事实上的 API 描述格式,”Tyk Technologies 首席执行官兼创始人 Martin Buhr 说。“作为领先的开源 API 管理平台,Tyk 致力于开源和开放标准,我们很高兴能参与 OAS v3.0 规范的发布。”

OAI 的当前成员包括:42Crunch、Adobe Systems, Inc.、API Evangelist、Atlassian、CA Incorporated、Capital One、Cloud Elements、Finxact, LLC、Google, Inc.、Hart、IBM、Intento, Inc.、ISA Research Group、Mashape Inc.、Microsoft Corporation、MuleSoft、Oracle Apiary、Red Hat、RepreZen、Restlet, Inc.、Salesforce、Samsung ARTIK Cloud、SmartBear Software、Software AG、StopLight 和 Tyk。

OpenAPI 是 Swagger 规范的演变,Swagger 规范于 2015 年由 SmartBear 捐赠给 Linux 基金会。要获取有关 OpenAPI 规范的更多信息,并了解成员资格和贡献,请访问:https://www.openapis.org.cn/

资源

OpenAPI 规范 v3


在 Twitter 上关注 OAI @OpenApiSpec 或加入 GitHub 上的讨论 GitHub

关于 OpenAPI Initiative
OpenAPI Initiative (OAI) 由一群具有前瞻性的行业专家创建,他们认识到标准化 REST API 描述方式的巨大价值。作为 Linux 基金会下的一个开放治理结构,OAI 专注于创建、发展和推广一种与供应商无关的描述格式。访问 https://www.openapis.org.cn/ 获取更多信息。

###

Linux 基金会已注册商标并使用商标。有关 Linux 基金会商标列表,请参阅其商标使用页面:https://www.linuxfoundation.org/trademark-usage。Linux 是 Linus Torvalds 的注册商标。

TDC:结构改进:解释 3.0 规范,第 2 部分

作者 博客

随着 OpenAPI 规范 3.0 版本即将进入 Beta 候选阶段,此系列文章旨在深入了解正在发生的变化以及变化方式。该 第一篇文章 描述了规范下一步演进的背景和基本原理,接下来的几篇文章将介绍技术开发社区 (TDC) 目前取得的进展。

为了组织工作,已创建 六个综合元问题

  1. 结构改进
  2. 请求参数
  3. 协议和有效负载
  4. 文档
  5. 安全
  6. 路径定义

在接下来的几周内,我们将按顺序描述每个问题。今天,我们将介绍……

结构改进

OpenAPI 的下一个版本将进行一些非常重大的更改——在语义版本控制术语中,这将表示从 2.0 到 3.0 的重大更改。由于重大更改事件很少发生,因此它们提供了进行全面结构改进的机会。

最重要的是,在 OpenAPI 规范 3.0 版本中,文档的整体结构已得到简化。

pasted-image-0

新的版本标识符

从曾经称为 Swagger 2.0 现在称为 OpenAPI 规范的描述开始过渡的一个明显位置?从 2.0 开始称为 swagger 的 version 属性将被 openapi 版本标识符替换。今后,此 版本标识符 将遵循 语义版本控制 的约定,因此它将包含三个部分:主版本.次版本.修订版本,这可能意味着 3.0.0。这也解释了为什么该值是字符串而不是数字,它将允许将来对规范进行更受控制和可识别的更改。

组件对象

OpenAPI 2.0 在顶级属性的行为方面有些不一致。例如,某些属性包含应用于 API 的全局元数据,而其他属性用作可重用元数据片段的容器,以便在其他地方引用。为了阐明这一点并最大程度地减少顶级属性的数量,将引入一个新的 components 属性。此 components 属性 仅包含将在文档其他地方引用的可重用元数据。

pasted-image-0-1

多个主机

OpenAPI 2.0 允许指定单个主机和 basePath,但 schemes 属性允许同时指定 http 和 https,因此实际上启用了两个仅在方案中不同的主机。在 OpenAPI.vNext(规范存储库的工作分支)中,一个新的顶级 hosts 对象包含一个对象数组,这些对象包含 host、basePath 和 scheme 属性。通过将其构建为对象数组,可以支持 API 的任意数量的根 URL,并且它允许更清晰地关联 scheme、host 和 basePath 属性。它还减少了所需的顶级属性数量,简化了文档结构。

hosts

在围绕 GitHub 问题和相关拉取请求的讨论中,TDC 解决了路径是否可以识别为表示不同环境(例如开发、测试和生产)的问题。但是,这表明不同的主机可能指向不同的 API 实现,而这并非支持 API 的多个根 URL 的目的。相反,目标是允许为同一 API 定义一组别名。(注意:关于主机和 basePath 的参数化仍然存在一个未解决的问题,这可能允许指向不同的环境。)

此外,可以在 路径项 级别覆盖主机、basePath 和 scheme。这应该可以更容易地将单独主机上提供的功能合并到 API 描述中。

pasted-image-0-2

更具描述性的选项

新规范允许用户以更面向资源的方式描述其 API。以前,API 行为的描述是在操作级别定义的。对于以面向资源的方式设计的 API,文档文本通常会写成“获取 foo”、“发布 foo”、“删除 foo”。如果需要详细说明“foo”的目的,则需要在每个操作中重复该文本。现在,一个 路径项对象 可以包含简短的摘要文本和较长的描述文本。是否在操作级别提供其他描述的选择权留给用户,具体取决于是否需要进一步说明。

示例对象

描述示例的选项已 大幅扩展。以前的规范表明,示例只能通过 JSON 或 YAML 对象来描述。现在,通过使用 JSON 字符串,可以描述任何格式的示例。此外,可以使用 $ref 对象指向包含示例的外部文件。构建示例的确切方法仍在变化中,可能取决于 TDC 是否接受提议的内容对象。内容对象包含一个示例对象数组,用于为每种媒体类型定义一个或多个示例。

如您所见,关于结构更改的这个元问题有很多内容需要消化。下一篇文章将讨论 OpenAPI 3.0 中如何描述请求的更改。

  • 本系列的上一篇文章 第 1 部分 – 背景 和如何参与!

 


Darrell Miller关于作者

Darrel Miller
Darrel Miller 是微软 Azure API 管理的高级软件开发工程师。Darrel 是 OpenAPI 规范技术开发社区的成员。您可以在 Twitter 或他的博客 Bizcoder 上关注他。

OpenAPI Initiative,9 个月及以后 – OAI 会议 2016-09-15

作者 博客

在 9 月 15 日的 OAI 会议上,IBM 的 Jeff Borek 带领听众回顾了 OpenAPI Initiative 在过去 9 个月中的历程。从 OpenAPI Initiative 的简要概述开始,介绍了它所基于的 Swagger 项目的一些背景信息,最后介绍了如今有多少公司正在合作实现 OAS 3.0 规范的开放治理——该规范将在今年晚些时候完成。

Jeff Borek关于作者
Jeff Borek
Jeff Borek(IBM 全球开放技术与合作伙伴关系项目总监)是一位高级技术和通信主管,在软件、电信和信息技术/咨询行业拥有超过 20 年的领导力和技术经验。他目前是开放技术和合作伙伴关系团队的业务开发负责人——与客户、业务合作伙伴、领先的行业分析师以及各种开源社区计划合作,包括:Linux 基金会、OpenStack 云软件项目和 Cloud Foundry 基金会。他还代表 IBM 担任 Docker 治理咨询委员会的现任主席,但对我们来说,最重要的是他担任 OpenAPI Initiative 董事会成员。您可以在 Twitter 上关注他。

Google 中的 OpenAPI 规范 – OAI 会议 2016-09-15

作者 博客

在 OpenAPI 规范的前身——Swagger 规范于 2010 年创建之前,Google 已经发布了 150 个公共 API,这些 API 被数十万开发人员使用,并且每天处理数十亿次调用……

在 2016 年 9 月的 OAI 会议上,Dan Ciruli 讨论了为什么在产品事后分析中,API 团队最终转向开源解决方案并最终加入 OpenAPI Initiative。

在了解了他们加入的原因后,听听他们在做什么。9 月 1 日,Google 宣布了 Google Cloud Endpoints 中最新一组功能和开源组件的公开测试版。了解为什么 Google 致力于利用 OpenAPI 规范 以及他们接下来有什么计划。

Dan 演讲的幻灯片可以在这里找到 这里:


Dan Ciruli关于作者
Dan Ciruli
Dan Ciruli 是 Google 的产品经理,负责 API 基础设施方面的工作。他过去经常打终极飞盘(当他还有膝盖的时候)并编写很多软件(当他有时间的时候)。如果你给他机会,他会试着和你用西班牙语交谈。你可以在 Twitter 上找到他 @danciruli

使用 Capital One 浏览 OpenAPI – OAI 会议 2016-09-15

作者 博客

在 API 堆栈中进行静态定义的处理已经是过去式了。了解 Capital One 如何使用 OpenAPI 规范来实现更灵活和开放的 API 开发的新方法和有趣方法。

跟随 Capital One 开发人员 Leonhardt de Waal 一起浏览 OpenAPI 规范。

注意:由于技术原因,尤其是项目经理(我们这次就原谅他了),导致演示文稿被切分成两部分。对此造成的不便,我们深感抱歉。

第一部分

第二部分

 


关于作者
Leonhardt de Waal
Leonhardt 是 Capital One 的软件工程师。