spring-boot - Swagger codegen 忽略 POJO 类的空字段

标签 spring-boot jackson swagger codegen

我正在制作一个 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 的所有答案。这是所有模板,我发现我需要将以下两个文件添加到我的项目中

  • 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 类时插入。

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

    关于spring-boot - Swagger codegen 忽略 POJO 类的空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45031264/

    相关文章:

    java - Json to Java POJO with Jackson API Hangouts

    java - swagger 定义中的属性顺序因运行而异

    Flask Swagger 文档查询参数需要 GET

    java - 处理 Jackson 父子序列化

    java - 生成swagger java客户端代码时出错

    spring - Apache Kafka JMX 指标与 Spring Boot

    gradle - 无法使用无效的网址解析Gradle依赖项的 'spring-boot-starter-request-jpa'

    java - spring boot classnotfound org.springframework.boot.Bootstrapper 凝视应用程序时

    java - 没有@ EnableWebMvc,NoHandlerFoundException的自定义异常处理程序将无法工作

    tomcat - org.apache.catalina.connector.ClientAbortException : java. io.IOException:APR 错误:-32