无法从 openapi-generator mustache 模板引用供应商扩展
Unable to reference vendor extension from openapi-generator mustache template
我有一个 Open API 3 规范的 yaml 文件,它有一些以 x- 为前缀的属性。我正在尝试使用 openapi-generator-cli 生成 Angular Typescript SDK。但是,当我在模板胡须中引用 属性 时,x 前缀 属性 始终为空白。
来自 yaml 的示例端点(省略无关内容):
/about:
get:
summary: Information about this API
x-foo: getAbout
我如何在 Mustache 模板中使用它(省略无关内容):
{{#operation}}
public {{x-foo}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
(基本上我是尝试使用 x-foo 参数作为正在生成的 SDK 中的方法名称。)
但是生成的SDK将{{x-foo}}
替换为空白:
public ()
这就是我调用生成器的方式(没有换行符):
openapi-generator generate
--generator-name typescript-angular
--template-dir ./path/to/templates
--input-spec ./path/to/api.yml
--output ./output
--config ./path/to/config.json
如何从 openapi-generator 模板中引用供应商扩展/x 前缀 Open API 3 属性?
供应商扩展在 vendorExtensions
父 属性 内部提供,而不是直接提供。
因此,要从小胡子模板访问 x-foo
属性,上面的示例将是:
{{#operation}}
public {{vendorExtensions.x-foo}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
要查看您正在处理的对象(例如 api 规范 yml 或 json 的解析版本),运行 使用 -v
标志。将打印出的众多内容之一是已解析的规范。
我有一个 Open API 3 规范的 yaml 文件,它有一些以 x- 为前缀的属性。我正在尝试使用 openapi-generator-cli 生成 Angular Typescript SDK。但是,当我在模板胡须中引用 属性 时,x 前缀 属性 始终为空白。
来自 yaml 的示例端点(省略无关内容):
/about:
get:
summary: Information about this API
x-foo: getAbout
我如何在 Mustache 模板中使用它(省略无关内容):
{{#operation}}
public {{x-foo}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
(基本上我是尝试使用 x-foo 参数作为正在生成的 SDK 中的方法名称。)
但是生成的SDK将{{x-foo}}
替换为空白:
public ()
这就是我调用生成器的方式(没有换行符):
openapi-generator generate
--generator-name typescript-angular
--template-dir ./path/to/templates
--input-spec ./path/to/api.yml
--output ./output
--config ./path/to/config.json
如何从 openapi-generator 模板中引用供应商扩展/x 前缀 Open API 3 属性?
供应商扩展在 vendorExtensions
父 属性 内部提供,而不是直接提供。
因此,要从小胡子模板访问 x-foo
属性,上面的示例将是:
{{#operation}}
public {{vendorExtensions.x-foo}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
要查看您正在处理的对象(例如 api 规范 yml 或 json 的解析版本),运行 使用 -v
标志。将打印出的众多内容之一是已解析的规范。