4

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

我知道这可以通过在 application.properties 中添加以下行来完成:

spring.jackson.default-property-inclusion=non_null

但这是针对整个项目的。

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

- api.mustache
- apiController.mustache

我想我必须在其中一个中添加一些代码,还是应该在 application.yml 中插入一些代码?

我还在使用带有 Swagger-codgen 的 Spring Boot。

提前感谢您,祝您有美好的一天!

4

2 回答 2

3

好的,经过几个小时的研究,我发现因为我使用的是 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 类的简单模板,因此您需要@JsonInclude(JsonInclude.Include.NON_NULL)在 pojo.mustache 文件中添加注释,在public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}...生成 pojo 类时插入其中。

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

于 2017-07-11T14:44:18.303 回答
0

您可以尝试在以下属性中设置application.yaml

spring.jackson.default-property-inclusion = NON_NULL

这对我来说可以从响应中过滤掉空值。

于 2022-01-21T16:36:07.050 回答