diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java index ba0c879319a2..b714d57ac491 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java @@ -29,8 +29,8 @@ * *

This converter can be used to bind to typed beans, or untyped {@link java.util.HashMap HashMap} instances. * - *

By default, this converter supports {@code application/json}. This can be overridden by setting the - * {@link #setSupportedMediaTypes supportedMediaTypes} property. + *

By default, this converter supports {@code application/json} and {@code application/*+json}. + * This can be overridden by setting the {@link #setSupportedMediaTypes supportedMediaTypes} property. * *

The default constructor uses the default configuration provided by {@link Jackson2ObjectMapperBuilder}. * diff --git a/spring-web/src/main/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverter.java index 379db90ab418..1a2d80a233a8 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverter.java @@ -29,8 +29,13 @@ * that can read and write XML using * Jackson 2.x extension component for reading and writing XML encoded data. * + *

By default, this converter supports {@code application/xml}, {@code text/xml}, and {@code application/*+xml}. + * This can be overridden by setting the {@link #setSupportedMediaTypes(java.util.List) supportedMediaTypes} property. + * *

The default constructor uses the default configuration provided by {@link Jackson2ObjectMapperBuilder}. * + *

Compatible with Jackson 2.1 and higher. + * * @author Sebastien Deleuze * @since 4.1 */ @@ -51,7 +56,9 @@ public MappingJackson2XmlHttpMessageConverter() { * @see Jackson2ObjectMapperBuilder#xml() */ public MappingJackson2XmlHttpMessageConverter(ObjectMapper objectMapper) { - super(objectMapper, new MediaType("application", "xml", DEFAULT_CHARSET)); + super(objectMapper, new MediaType("application", "xml", DEFAULT_CHARSET), + new MediaType("text", "xml", DEFAULT_CHARSET), + new MediaType("application", "*+xml", DEFAULT_CHARSET)); Assert.isAssignable(XmlMapper.class, objectMapper.getClass()); } diff --git a/spring-web/src/test/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverterTests.java b/spring-web/src/test/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverterTests.java index 38b7fd4c0a19..e561f585e90f 100644 --- a/spring-web/src/test/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverterTests.java +++ b/spring-web/src/test/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverterTests.java @@ -49,11 +49,15 @@ public class MappingJackson2XmlHttpMessageConverterTests { @Test public void canRead() { assertTrue(converter.canRead(MyBean.class, new MediaType("application", "xml"))); + assertTrue(converter.canRead(MyBean.class, new MediaType("text", "xml"))); + assertTrue(converter.canRead(MyBean.class, new MediaType("application", "soap+xml"))); } @Test public void canWrite() { assertTrue(converter.canWrite(MyBean.class, new MediaType("application", "xml"))); + assertTrue(converter.canWrite(MyBean.class, new MediaType("text", "xml"))); + assertTrue(converter.canWrite(MyBean.class, new MediaType("application", "soap+xml"))); } @Test