在我的Spring Boot/Kotlin项目中,我试图让JSON转换器忽略rest控制器响应中的空值。
我已经尝试在我的application.yml中设置以下内容:
spring:
jackson:
default-property-inclusion: non_null我还尝试提供Jackson2ObjectMapperBuilder类型的@Bean和配置了.serializationInclusion(JsonInclude.Include.NON_NULL)的@ObjectMapper,但它仍在序列化所有空属性。
使用Spring Boot 2.3.0、Kotlin 1.3.72、AdoptOpenJDK 13
发布于 2020-07-10 06:41:26
嗯,我从头开始创建一个新项目,并从当前项目中添加片段,直到我获得异常行为,从而发现了问题所在。
原来问题出在一个用于添加CORS映射的类中:
@EnableWebMVC
@Configuration
class WebConfiguration : WebMvcConfigurer {
override fun addCorsMappings(registry: CorsRegistry) {
registry.addMapping("/**")
.allowedOrigins("*")
}
}我想我在示例中添加了@EnableWebMVC,但该类与@RESTController类不在类层次结构的同一部分,所以看起来这就是为什么没有应用对象映射器配置的原因。我对Spring/Boot的内部连接知之甚少,无法告诉你原因。
一旦我删除了@EnableWebMVC并允许Spring Boot通过自动配置将其添加到应用程序类中,它就像预期的那样工作了……
https://stackoverflow.com/questions/62819472
复制相似问题