diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java index 476c5e1b264c..719b256c9023 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java @@ -269,15 +269,12 @@ protected void writeInternal(Object object, @Nullable Type type, HttpOutputMessa if (type != null && TypeUtils.isAssignable(type, value.getClass())) { javaType = getJavaType(type, null); } - ObjectWriter objectWriter; + ObjectWriter objectWriter = this.objectMapper.writer(); if (serializationView != null) { - objectWriter = this.objectMapper.writerWithView(serializationView); + objectWriter = objectWriter.withView(serializationView); } - else if (filters != null) { - objectWriter = this.objectMapper.writer(filters); - } - else { - objectWriter = this.objectMapper.writer(); + if (filters != null) { + objectWriter = objectWriter.with(filters); } if (javaType != null && javaType.isContainerType()) { objectWriter = objectWriter.forType(javaType);