【问题标题】:Can I define new mustache template variables in swagger-codegen?我可以在 swagger-codegen 中定义新的 mustache 模板变量吗?
【发布时间】:2021-11-23 14:11:20
【问题描述】:

我开发了一个根据我的产品需求定制的 rest-api 客户端(java 中)。我想使用我的 rest api 客户端使用基于 yaml 文件的 swagger-codegen 模块生成测试。

我已经扩展了DefaultCodegenConfig 甚至尝试实现CodegenConfig 接口来构建我的自定义jar。我已经自定义了api.mustacheapi_test.mustache 文件,并将它们传递给我的CustomCodeGen 扩展DefaultCodegenConfigconstructorprocessOpts() 方法。

但是,我想使用我在自定义 api.mustache 中添加的自定义/新 mustache 模板变量。

例如如果参考标准api.mustache,它通常使用的模板变量是

 - {{classname}} 
 - {{#operation}} 
 - {{#contents}} 
 - {{#parameters}} 

等等

现在,我想介绍一个新的模板变量,比如说{{custom_param}}。现在我不清楚如何将这个新模板变量与实现集成。

从这里发布的Mustache-Template-Variables 看起来,swagger-codegen 不允许添加新的模板变量,也许我们仅限于此页面上提到的变量。

那么,有什么方法可以让新的模板变量起作用吗?

【问题讨论】:

    标签: swagger mustache swagger-codegen template-variables


    【解决方案1】:

    前段时间我为 bean 验证添加了 uniqueItems 参数,因为它没有被引擎处理,即使它是已实现 JSR 的一部分。

    所以我认为代码库需要更新以使用您自己的变量,这只有在您分叉代码时才有可能。

    如果有帮助,这两个是 PR -
    https://github.com/swagger-api/swagger-codegen/pull/10154(查询参数)
    https://github.com/swagger-api/swagger-codegen/pull/10490(用于正文参数)

    【讨论】:

    • 是的,这样的定制对于源代码的更改是不可行的。
    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2019-10-29
    • 2015-01-03
    • 2021-08-04
    • 1970-01-01
    相关资源
    最近更新 更多