From e881d4b1441b4ade35806b6f06d5b7ebe1828e92 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 13 May 2020 11:14:28 +0100 Subject: [PATCH] Allow use of JsonInclude.Value Closes gh-24824 --- .../json/Jackson2ObjectMapperBuilder.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java index e0862b3342f..6796455e05b 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java @@ -143,7 +143,7 @@ public class Jackson2ObjectMapperBuilder { private TypeResolverBuilder defaultTyping; @Nullable - private JsonInclude.Include serializationInclusion; + private JsonInclude.Value serializationInclusion; @Nullable private FilterProvider filters; @@ -301,7 +301,16 @@ public class Jackson2ObjectMapperBuilder { * Set a custom inclusion strategy for serialization. * @see com.fasterxml.jackson.annotation.JsonInclude.Include */ - public Jackson2ObjectMapperBuilder serializationInclusion(JsonInclude.Include serializationInclusion) { + public Jackson2ObjectMapperBuilder serializationInclusion(JsonInclude.Include inclusion) { + return serializationInclusion(JsonInclude.Value.construct(inclusion, inclusion)); + } + + /** + * Set a custom inclusion strategy for serialization. + * @since 5.3 + * @see com.fasterxml.jackson.annotation.JsonInclude.Value + */ + public Jackson2ObjectMapperBuilder serializationInclusion(JsonInclude.Value serializationInclusion) { this.serializationInclusion = serializationInclusion; return this; } @@ -703,7 +712,7 @@ public class Jackson2ObjectMapperBuilder { objectMapper.setDefaultTyping(this.defaultTyping); } if (this.serializationInclusion != null) { - objectMapper.setSerializationInclusion(this.serializationInclusion); + objectMapper.setDefaultPropertyInclusion(this.serializationInclusion); } if (this.filters != null) {