生成API代码时出现Swagger Codegen 3自定义模板错误

时间:2020-03-30 17:50:53

标签: templates swagger swagger-codegen swagger-3.0

我遇到了这个问题。我有一些由swagger-codegen-cli(swagger 2)生成的代码,我正在更新以从swagger-codegen-cli(swagger 3)生成的代码。
目前,我有一个带有经过修改的pom.mustache的模板文件夹。

如果我使用swagger codegen 2和那个templateFolder:

java -jar SwaggerCodegen**2**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile -t templateFolder

一切正常。

但是如果我使用swagger codegen 3 jar运行相同的命令,

java -jar SwaggerCodegen**3**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile -t templateFolder

我得到:

ERROR can't find model.mustache.

它将丢失大约十几种不同的.mustache文件而不断出错。

现在,我可以通过从完全不同的存储库中获取Java .mustache文件来修复这些错误。我去了swagger-codegen-generators,然后将所有胡子文件从swagger-codegen-generators / src / main / resources / handlebars / Java / *。mustache复制到了templateFolder中。

如果我这样做,那么当我跑步时 java -jar SwaggerCodegen**3**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile -t templateFolder

在我将其中一个胡子文件中的-last更改为id之后,一切都可以正常编译。

但这似乎是不可持续的解决方案。

(请注意:如果我不带-t命令运行 java -jar SwaggerCodegen**3**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile,然后一切都可以正常编译-但这对我不起作用,因为我需要编辑pom.mustache文件)

据此,在我看来,swagger codegen 2,如果在templateFolder中找不到所需的一些默认模板文件,则自己(而不是swagger-codegen-generators)搜索那些丢失的胡须文件。 但是,昂扬的代码生成器3(如果提供了templateFolder)将仅在该文件夹中显示-意味着您的客户templateFolder必须包含所有相关的胡子文件。如果没有为swagger codegen 3提供templateFolder,我认为它不是从自身而是从swagger-codegen-generators中提取丢失的胡子文件。

这是真的吗?我是否可以通过另一种方式自动提取所有相关的胡子文件,而无需从另一个存储库中复制过来?我只想在templateFolder中拥有1个经过编辑的pom.mustache文件,并能够运行所有内容。

0 个答案:

没有答案