经过一年多的开发后,开放 API 战略(OAI,Open API Initiative)近期宣布将在 2017 年七月中旬发布 OpenAPI 规范 (OAS,OpenAPI Specification )v3.0.0 的最终版。发布前的开放征求意见阶段将在六月三十日结束。
该版本的发布得到了 API 社区的密切地关注,开发人员和业界领导人已经直接挑明了其中最令他们激动的特性。OAS3.0 中备受关注的关键特性包括:
- 组件;
- 多主机支持;
- 具备新内容属性的内容协商;
- 支持回调和 WebHooks;
- 使用 Links 对象,对超媒体给出建议;
- 改进了对 JSON 模式 anyOf, allOf 和 not 函数的支持。
随着规范达到了 3.0,开源社区和软件厂商正致力于为自身的 OAS 工具提供向前兼容性。作为 OAS 所基于的描述性语言 Swagger,其创始人 Tony Tam 在去年曾接受 InfoQ 采访,他预警了即将到来的重大改进:
很多工具软件商可以通过改进工具同时支持 2.0 和 3.0 规范。但几乎可以肯定的是,2.0 版的工具将不会支持 3.0 规范。我们期望并鼓励各工具间实现更好的向前兼容。我们将确保将 3.0 规范之后的所有更新作为非重大更新对待,以取得 3.x 的版本号。
Darrel Miller 是一名 OAS 技术开发人员社区(TDC,Technical Developer Community)成员,同时也是负责为规范提供技术指导的六人小组成员之一。他向 InfoQ 介绍了 TDC 在准备这次发布中所面对的主要挑战,即时间和优先级。“我们有幸能具有一些热心的社区成员,他们志愿付出了很多时间的额外努力,以帮助规范达到可发布状态。”他说,“我们的时间有限,规范的涵盖内容也有限,因此我们想在添加特性与维持规范的简单性这两者间取得平衡。我们都看到了在规范上所发生的事情,这将使规范更为复杂。但是所增加的每一点复杂度,都相应地会有用户的确需要这些功能。虽然我们很少具有拒绝某一特性,但是接收新的特性也是同等重要的。”
虽然 TDC 尚未明确给出下一版本 OpenAPI 的计划,但是 TDC 正在积极地讨论未来版本中准备包含哪些内容。在五月召开的 GlueCon 大会上,召开了一次涉及了在 3.0 版本中主要更改的研讨会。在该研讨会上,Miller 介绍了已得到实验性支持的特性,包括可重用组、可替换模式、操作版本控制和动态枚举等。据Miller 介绍,对象的可重用组是在未来更新中优先考虑的特性,而可替换模式是一个得到了广泛请求的特性,但是要确保用户在工具上具有很好的和一致的体验,这对该特性提出了重大挑战。他还指出下一版本的一个话题就是,“无论我们翘首以待的下一版本会是什么样的,我们都期待发布下一版本所需的时间将会比发布V3 所用的时间更短”。
查看英文原文: Long-Awaited OpenAPI Spec 3.0 to Be Released in July
评论