我正在努力寻找一种解决方案,如何将多个 OpenApi v3 组件定义合并到一个文件中。
让我们想象一个情况:

blueprint.v1.yaml)。通常,我用来swagger-cli合并所有$ref依赖项,但现在不是这样,因为我无法引用整个组件/模式对象列表

swagger-cli bundle。所以,问题是 - 如何在我的blueprint.v1.yaml文件中重用已定义的组件块(名为 Components.v1.yaml 的文件)?
PS 每个components.v1.yaml看起来都是这样的:

例如,location-create-single.v1.yaml路径定义如下图所示。值得一提的是,所有这些都是$ref指components.v1.yaml文件。

我为我的项目正在使用的 RESTful API 提供了 Swagger 2.0 json 文件。该提供商没有 SDK,因此我使用 Swagger 文件生成用于与服务集成的起点。它分为 50 多个文件,按端点集合分组。如何将它们合并到符合规范的单个 JSON 或 YAML 文件中,以便我可以立即为所有端点生成 SDK?
在使用 Spring Boot 的 Maven 项目中,有多个 OpenAPI 3.0 规范文件。一个规范定义了所有 HTTP 错误 (errors.yml),并且 error.yml 的组件在其他规范中引用。我想生成一个输出规范,其中包含 error.yml 的所有组件。
输入规格:
schema:
$ref: "errors.yml#/components/schemas/Error"
Run Code Online (Sandbox Code Playgroud)
期望的输出规格:
schema:
$ref: "#/components/schemas/Error"
...
Error:
...
Run Code Online (Sandbox Code Playgroud)
我可以使用 swagger-codegen-cli 来做到这一点:
java -Dfile.encoding=UTF-8 -jar swagger-codegen-cli-3.0.33.jar generate -l openapi-yaml -i search-api-contract/target/expert_api.yml -o . -DoutputFile=search-api-contract/target/expert_api.yml
Run Code Online (Sandbox Code Playgroud)
如何使用 Maven pom.xml 生成一份规范?