使用 SwaggerHub 的比较和合并功能改进您的 API 文档工作流程

  2017 年 1 月 6 日

API 描述格式(例如 Swagger)充当 API 提供商和最终消费者之间的合同 — 以人机皆可读的格式清晰地详细说明 API 的所有资源和操作。使用 Swagger 文档化您的 RESTful API 可以简化开发、更好地进行发现,并为最终消费者提供更好的整体集成体验。 作为使用 Swagger 定义 API 的提供商,您有责任保持该合同的最新状态,这通常需要管理您的 Swagger 定义的多个版本。 或者,如果您是遵循“代码优先”方法使用 Swagger 的人 — 这意味着必须使用注释从 API 代码生成 Swagger 规范 — 您可能会发现需要进行一些调整才能为您的 API 创建一个精心设计的定义。 无论您的团队采用哪种方法使用 Swagger 定义您的 API,很可能都有许多具有不同技能和职责的人员参与其中。

让合适的人参与 API 文档

开发人员和 API 设计人员并非 API 生命周期设计和文档阶段的唯一参与者。如果您的团队认真对待 API 的文档化,您可能有一位技术作家,其职责是通过提供具体的文档来改进 API 的可用性,以使用 API 的各种资源。 该人员可能没有积极参与 API 的初始开发,因此通常需要投入大量时间来理解如何为 API 端点编写准确的描述并为最终用户提供适当的上下文。 此文档工作流程涉及开发人员、技术作家以及参与发布 API 的任何其他人之间的很多协作。并且还需要适当的可追溯性,以确保在更新定义时不会出现任何问题。

适合您的文档工作流程的工具

SwaggerHub,我们一直努力提供工具,让您的团队所有成员在整个 API 生命周期中更容易协同工作。借助诸如 注释和团队管理等功能,您可以实时获取反馈、提出问题并解决问题。 现在,我们很高兴宣布我们对 SwaggerHub 的最新改进,这将更容易比较 Swagger 定义、审查和验证更改以及接受对 Swagger 规范的更新。

隆重推出 SwaggerHub 的比较和合并功能

无论您是更新已在使用中的 Swagger 定义,还是向现有 API 添加 Swagger,在更新 API 之前比较您所做的更改都很有帮助。 您可以将存储在 SwaggerHub 中的 API 规范与存储在文件系统中的 YAML 或 JSON 文件中的另一个 API 规范进行比较和合并,无论是来自您的本地计算机还是来自存储在 SwaggerHub 中的另一个定义。 与传统的差异和合并解决方案不同,SwaggerHub 比较和合并功能专为审查和实施对 Swagger 定义的更改而构建。它提供了适当的反馈量,并将有助于根据您对定义所做的更改来验证您的 API 是否可访问。 以下是更详细地了解 比较和合并工具的工作原理: 与 SwaggerHub 中的 Swagger 定义进行比较
  1. 在 SwaggerHub 中,打开您的 API 进行编辑。切换到需要的版本。
  2. 单击编辑器右上角的“齿轮”图标,然后从菜单中选择 比较和合并 API
  3. 在后续对话框中,选择 与 SwaggerHub 中的规范进行比较
  4. 在下一个对话框中,指定用于比较的用户名、API 和 API 版本:
要将 API 与同一 API 的另一个版本进行比较,请输入您的用户名、API 名称并选择另一个版本。
  1. 单击 下一步。SwaggerHub 将验证 API 是否可访问。
如果验证成功,请再次单击 下一步。这将调用一个窗口,您可以在其中查看 API 之间的差异。 与 Swagger 文件进行比较
  1. 在 SwaggerHub 中,打开您的 API 进行编辑。切换到需要的版本。
  2. 单击编辑器右上角的“齿轮”图标,然后从菜单中选择 比较和合并 API
  3. 在后续对话框中,选择 与外部规范进行比较
  4. 在下一个对话框中,输入所需 JSON 或 YAML API 的 URL,或在您的硬盘驱动器上指定 API 文件:
  5. 单击 获取。SwaggerHub 将加载指定的 API 并检查其是否有效。
如果加载的 API 有效,请单击 比较。这将打开一个窗口,您可以在其中查看 API 之间的差异(请参见下文)。如果加载的 API 无效,您将看到一条描述问题的消息。 以下是差异窗口的示例视图: 您的 API 位于右侧,“其他”API 位于左侧。SwaggerHub 会自动检测并突出显示已更改的行。 窗口底部的 差异类型 设置指定 SwaggerHub 突出显示的差异:
描述
设计 + 元数据 SwaggerHub 突出显示属性值中的差异 以及 新的和删除的节点。
仅设计 SwaggerHub 仅突出显示规范结构中的更改,这些更改会影响 API 的操作。描述、示例和其他人为修改的文档中的差异不会突出显示。
合并差异
  1. 单击窗口右侧或左侧突出显示的差异行(或块)。SwaggerHub 会将左侧窗口中的块复制到右侧(即您的 API),并删除突出显示。它还会增加撤消按钮中的计数器。
  2. 如果需要,单击 撤消 以恢复最近的批准。要恢复多个批准,请多次单击“撤消”。
  3. 合并所有需要的差异后,单击 保存更改 以保存更改。这将使用更改后的 API 规范 替换您的 API 规范。
如果您只想查看差异(即比较两个 API 规范),请单击取消 添加比较和合并功能是为了改进团队中更新和编辑 API 的工作流程。如果您对新功能有任何建议,请随时在此处发送功能请求:此处