我目前正在使用 yml 使用 swagger codegen 来生成我的模型但是我有一个字段,List<Object>
即需要具有@JacksonXmlElementWrapper(useWrapping = false)
. 我可以看到@JacksonXmlElementWrapper
inPOJO.mustache
但不是 in model.mustache
。有谁知道要在 yaml 文件或其他任何地方添加什么,以便使用该注释生成该字段?谢谢。我正在使用带有 gradle 的 spring-java 语言。我需要在构建期间生成它。所以最小的变化是首选。
问问题
1083 次
1 回答
1
根据他们 git 上的自述文件,Swagger Codegen 提到了这样做的方法:
https://github.com/swagger-api/swagger-codegen/blob/master/README.md
因为您使用的是gradle:
我们可以使用自定义模板进行代码生成,如下所示:
// build.gradle
swaggerSources {
inputFile = file('{name of your file}.yaml')
xyz {
language = 'spring'
// template directory path
templateDir = file('templates/{name of your custom directory}')
}
}
在里面templates/{name of your custom directory}
,您可以存储您的自定义 mustache 文件,就像您的情况一样,您所要做的就是从git下载所需的 spring 模板(例如,此链接用于 pojo.mustache)并添加所需的模板更改,以及项目和库文件夹。运行 gradle build 它应该生成。
然而,有一个更简单的解决方法,您可以使用自己的 pojo 类并将其添加到您现有config.json
的中,并在您的 yaml 文件中删除该模型的早期条目(当然):
"importMappings" : {
"{replace with className}": "{replace with packageName}.{replace with className}"
}
希望这可以帮助。
于 2018-11-30T08:42:06.087 回答