Option for advanced ObjectMapper customization

Closes gh-23017
This commit is contained in:
Rossen Stoyanchev
2020-05-13 11:15:43 +01:00
parent e881d4b144
commit e88eb0ecf7
2 changed files with 36 additions and 0 deletions

View File

@@ -62,6 +62,7 @@ import com.fasterxml.jackson.databind.deser.BasicDeserializerFactory;
import com.fasterxml.jackson.databind.deser.Deserializers;
import com.fasterxml.jackson.databind.deser.std.DateDeserializers;
import com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair;
import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
import com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.module.SimpleSerializers;
@@ -431,6 +432,20 @@ public class Jackson2ObjectMapperBuilderTests {
assertThat(output).doesNotContain("value2");
}
@Test // gh-23017
public void postConfigurer() {
JacksonAnnotationIntrospector introspector1 = new JacksonAnnotationIntrospector();
JacksonAnnotationIntrospector introspector2 = new JacksonAnnotationIntrospector();
ObjectMapper mapper = Jackson2ObjectMapperBuilder.json()
.postConfigurer(m -> m.setAnnotationIntrospectors(introspector1, introspector2))
.build();
assertThat(mapper.getSerializationConfig().getAnnotationIntrospector()).isSameAs(introspector1);
assertThat(mapper.getDeserializationConfig().getAnnotationIntrospector()).isSameAs(introspector2);
}
@Test
public void completeSetup() throws JsonMappingException {
NopAnnotationIntrospector introspector = NopAnnotationIntrospector.instance;