[英]How can I overwrite a application.yml in a class attribute?
我的属性 yml 文件中有这个属性:
jackson:
default-property-inclusion: non_null
serialization:
write-empty-json-arrays: false
serialization-inclusion: NON_EMPTY
它的作用是禁止 JSON 为空 arrays。 但是对于 class 中的特定属性,我希望能够将其返回为空。 有没有办法或财产我可以用来做这个? 谢谢!
唯一的方法是创建另一个ObjectMapper
,然后使用它来序列化特定的 class。
@Configuration
class JacksonConfiguration {
@Bean
fun mainObjectMapper() = jacksonObjectMapper().apply {
setSerializationInclusion(JsonInclude.Include.NON_NULL)
setSerializationInclusion(JsonInclude.Include.NON_EMPTY)
}
@Bean
fun otherObjectMapper() = jacksonObjectMapper().apply {
setSerializationInclusion(JsonInclude.Include.NON_NULL)
}
}
但是,对于这么简单的事情,这似乎有点过头了。
另一个可能对您最好的选择是使用@JsonInclude
注释。 您可以按如下方式使用它:
@JsonInclude(JsonInclude.Include.ALWAYS)
List<String> propertyToSerializeEvenIfEmptyOrNull;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.