我可以在 swagger-codegen 中定义新的 mustache 模板变量吗?

Can I define new mustache template variables in swagger-codegen?

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

我已经扩展了 DefaultCodegenConfig & 甚至尝试实现 CodegenConfig 接口来构建我的自定义 jar。我自定义了 api.mustacheapi_test.mustache 文件,并将它们传递到扩展 DefaultCodegenConfig.[=] 的 CustomCodeGenconstructorprocessOpts() 方法中23=]

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

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

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

等等

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

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

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

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

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

如果有帮助,这两个是 PR:

  1. 对于查询参数:https://github.com/swagger-api/swagger-codegen/pull/10154.
  2. 对于 body 参数:https://github.com/swagger-api/swagger-codegen/pull/10490.