使用 $ref 将 Openapi YAML 配置部署到 Google 端点

Deploy Openapi YAML config to Google Endpoint with $ref

是否可以将 Openapi YAML 配置部署到 Google 端点,如果它从多个文件引用,并将文件存储在文件夹结构中?

例如:

-\ openapi.yaml
--\service1\service1.yaml
--\service2\service2.yaml
.
.
.

假设 openapi.yaml 对 service1.yaml 和 service2.yaml 中的一个或多个定义有 $ref。

请注意,我有大量的文件夹和 YAML,以上只是我正在尝试实现的示例。

如何使用服务管理按原样将此结构部署到 Google 个端点?

不幸的是,Endpoints 支持 OpenAPI doesn't handle 外部类型引用。即使是这样,在 gcloud endpoints services deploy.

中的 OpenAPI 上传期间也不会保留路径结构

作为解决方法,您可以使用 speccy 来完成此任务。它将您的 api 描述与您的所有引用合并到一个可部署的 yaml 文件中。 speccy resolve openapi-template.yaml -j -o openapi.yaml 您甚至可以通过添加 -j 标志将 json 引用合并到您的 yaml 文件中。

Speccy 是一个 npm 包,因此,您显然需要 node.js 环境才能使用它。