我正在制作一个REST API,我想在类生成时添加Jackson注解来忽略null字段,所以我想为某些类添加这个注解,而不是为hole项目。
我知道这可以通过在www.example.com中application.properties添加以下行来完成:
spring.jackson.default-property-inclusion=non_null
但这是整个项目。
我看到有一些“.mustache”文件
- api.mustache
- apiController.mustache
我建议我必须在其中一个中添加一些代码,或者我应该在application.yml中插入一些代码?
我也在使用Sping Boot 和Swagger-codgen。
提前谢谢你,祝你有美好的一天!
3条答案
按热度按时间anauzrmj1#
好吧,经过几个小时的研究,我发现,因为我使用的是Swagger-codegen,我必须在https://github.com/swagger-api/swagger-codegen中搜索关于Swagger-Codegen的所有答案。这里是所有的模板,我发现我需要添加到我的项目以下两个文件
可以找到上述文件的路径是
更重要的是,这些文件是生成Pojo类的简单模板,因此您需要在pojo.mustache文件中添加
@JsonInclude(JsonInclude.Include.NON_NULL)
注解,位于public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}...
行的上方,以便在生成pojo类时插入。完成后,再次构建您的项目!:)
mhd8tkvw2#
您可以尝试在
application.yaml
中设置以下属性这对我来说很有效,可以从响应中过滤出空值。
bihw5rsg3#
它是#42997380的副本。
选项
NotNullJacksonAnnotation
是在Swagger Codegen 2.4.15中引入的。您可以找到here的详细信息。请随意使用它来用@JsonInclude(Include.NON_NULL)
注解您的POJO。