Skip to content

Commit e16c403

Browse files
tmeighenrstoyanchev
authored andcommitted
Support wildcard style media types in JSON converters
Add "application/*+json" to supported media types for both Jackson message converters. Issue: SPR-7905
1 parent 2e1a688 commit e16c403

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

spring-web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public class MappingJackson2HttpMessageConverter extends AbstractHttpMessageConv
6969
* Construct a new {@code MappingJackson2HttpMessageConverter}.
7070
*/
7171
public MappingJackson2HttpMessageConverter() {
72-
super(new MediaType("application", "json", DEFAULT_CHARSET));
72+
super(new MediaType("application", "json", DEFAULT_CHARSET), new MediaType("application", "*+json", DEFAULT_CHARSET));
7373
}
7474

7575
/**

spring-web/src/main/java/org/springframework/http/converter/json/MappingJacksonHttpMessageConverter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConve
6969
* Construct a new {@code MappingJacksonHttpMessageConverter}.
7070
*/
7171
public MappingJacksonHttpMessageConverter() {
72-
super(new MediaType("application", "json", DEFAULT_CHARSET));
72+
super(new MediaType("application", "json", DEFAULT_CHARSET), new MediaType("application", "*+json", DEFAULT_CHARSET));
7373
}
7474

7575
/**

spring-web/src/test/java/org/springframework/http/converter/json/AbstractMappingJacksonHttpMessageConverterTests.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ public abstract class AbstractMappingJacksonHttpMessageConverterTests<T extends
4545

4646
protected static final String NEWLINE_SYSTEM_PROPERTY = System.getProperty("line.separator");
4747

48-
4948
private T converter;
5049

5150
@Before
@@ -71,6 +70,14 @@ public void canWrite() {
7170
assertTrue(converter.canWrite(Map.class, new MediaType("application", "json")));
7271
}
7372

73+
// SPR-7905
74+
75+
@Test
76+
public void canReadAndWriteMicroformats() {
77+
assertTrue(converter.canRead(MyBean.class, new MediaType("application", "vnd.test-micro-type+json")));
78+
assertTrue(converter.canWrite(MyBean.class, new MediaType("application", "vnd.test-micro-type+json")));
79+
}
80+
7481
@Test
7582
public void readTyped() throws IOException {
7683
String body =

0 commit comments

Comments
 (0)