SuperAPI AI 工具集

merge-openapi-specs

编程与开发

查看项目

更新于 10-19 05:32

技能介绍

用途

merge-openapi-specs 用于将多个 OpenAPI 规范文件合并为一个统一的规范。它基于 speakeasy merge 命令,适合需要把分散的 API 定义整合到单一文件的场景。

主要能力

  • 将两个或更多 OpenAPI 规范合并为单个输出文件。
  • 支持逐个指定待合并的规范文件。
  • 输出合并后的 OpenAPI 规范到指定路径。

使用方式

命令格式:

speakeasy merge -s <spec1> -s <spec2> -o <output-path>

示例:

# Merge two specs
speakeasy merge -s ./api/users.yaml -s ./api/orders.yaml -o combined.yaml

# Merge multiple specs (specify each with -s)
speakeasy merge -s ./specs/auth.yaml -s ./specs/users.yaml -s ./specs/orders.yaml -o combined.yaml

输入要求:至少两个 OpenAPI 规范,每个通过 -s 参数指定。

输出:合并后的 OpenAPI 规范,通过 -o 参数指定输出路径。

适用场景

  • 将微服务各自的规范合并为统一 API。
  • 合并不同版本的规范文件。
  • 组合公开与内部 API 规范。
  • 用户提到“merge specs”“combine specs”“multiple OpenAPI files”等表述时。

冲突处理

当规范之间存在冲突时:

  • 对于重复路径,后指定的规范会覆盖先前的规范。
  • schema 冲突可能需要手动解决。
  • 建议检查合并后的输出以确保正确性。

故障排查

错误 原因 解决方案
Schema conflicts 重复的 schema 名称 合并前重命名 schema
Missing references 跨规范 $ref 引用 确保所有被引用的 schema 都已包含
Duplicate paths 多个规范中存在相同端点 移除重复项或使用不同的基础路径

相关技能

  • validate-openapi-spec:验证合并后的输出。
  • start-new-sdk-project:从合并后的规范生成 SDK。
  • create-openapi-overlay:在不直接编辑的情况下定制合并后的规范。

限制

资料未提供关于收费、价格、平台支持范围或具体性能效果的信息。