我正在制作一个 REST API,我想在类生成时添加 Jackson 注释以忽略空字段,所以我想为某些类而不是为hole 项目即时添加此注释。
我知道这可以通过在 application.properties 中添加以下行来完成:
spring.jackson.default-property-inclusion=non_null
但这适用于整个项目。
我看到有一些“.mustache”文件
- api.mustache
- apiController.mustache
我假设我必须在其中之一中添加一些代码,还是应该在 application.yml 中插入一些代码?
我也在使用带有 Swagger-codgen 的 Spring Boot。
预先感谢您,祝您有美好的一天!
最佳答案
好的,经过几个小时的研究,我发现因为我使用的是 Swagger-codegen,所以我必须在 https://github.com/swagger-api/swagger-codegen 中搜索有关 Swagger-Codegen 的所有答案。这是所有模板,我发现我需要将以下两个文件添加到我的项目中
可以找到上述文件的路径是
swagger-codegen/modules/swagger-codegen/src/main/resources/JavaSpring/
更重要的是,这些文件是生成 Pojo 类的简单模板,因此您需要添加
@JsonInclude(JsonInclude.Include.NON_NULL)
pojo.mustache 文件中的注释,在 public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}...
行的上方以便在生成 pojo 类时插入。完成后,再次构建您的项目! :)
关于spring-boot - Swagger codegen 忽略 POJO 类的空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45031264/