Swagger codegen忽略POJO类的空字段

时间:2017-07-11 09:58:34

标签: spring-boot jackson swagger ignore codegen

我正在制作一个REST API,我想在类生成中添加Jackson注释来忽略空字段,所以我想在某些类中添加这个注释onfly,而不是为了洞项目。

我知道可以通过在application.properties中添加以下行来实现这一点:

spring.jackson.default-property-inclusion=non_null

但这适用于整个项目。

我看到有一些“.mustache”文件

- api.mustache
- apiController.mustache

我认为我必须在其中一个中添加一些代码,或者我应该在application.yml中插入一些代码?

我也使用Swagger-codgen的Spring Boot。

提前谢谢你,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:2)

好的,经过几个小时的研究后我发现因为我使用的是Swagger-codegen,我必须在https://github.com/swagger-api/swagger-codegen中搜索有关Swagger-Codegen的所有答案。以下是所有模板,我发现我需要在项目中添加以下两个文件

  • pojo.mustache
  • xmlAnnotation.mustache

您可以找到上述文件的路径是

swagger-codegen/modules/swagger-codegen/src/main/resources/JavaSpring/

更重要的是,这些文件是生成Pojo类的简单模板,因此您需要在pojo.mustache文件中添加@JsonInclude(JsonInclude.Include.NON_NULL)注释,位于public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}...行的上方,以便生成pojo类时插入。

完成后,再次构建您的项目! :)