Browse Source

Reorder multipart converter for server converters

Closes gh-33894
pull/36108/head
Brian Clozel 9 months ago
parent
commit
7e919d2c96
  1. 4
      spring-web/src/main/java/org/springframework/http/converter/DefaultHttpMessageConverters.java
  2. 6
      spring-web/src/test/java/org/springframework/http/converter/DefaultHttpMessageConvertersTests.java
  3. 6
      spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupportExtensionTests.java

4
spring-web/src/main/java/org/springframework/http/converter/DefaultHttpMessageConverters.java

@ -589,11 +589,11 @@ class DefaultHttpMessageConverters implements HttpMessageConverters { @@ -589,11 +589,11 @@ class DefaultHttpMessageConverters implements HttpMessageConverters {
allConverters.addAll(this.serverMessageConverters.getBaseConverters());
allConverters.addAll(this.resourceMessageConverters);
allConverters.addAll(this.serverMessageConverters.getCoreConverters());
allConverters.addAll(this.serverMessageConverters.getCustomConverters());
if (!partConverters.isEmpty()) {
allConverters.add(new AllEncompassingFormHttpMessageConverter(partConverters));
}
allConverters.addAll(this.serverMessageConverters.getCoreConverters());
allConverters.addAll(this.serverMessageConverters.getCustomConverters());
if (this.configurer != null) {
allConverters.forEach(this.configurer);
}

6
spring-web/src/test/java/org/springframework/http/converter/DefaultHttpMessageConvertersTests.java

@ -219,11 +219,11 @@ class DefaultHttpMessageConvertersTests { @@ -219,11 +219,11 @@ class DefaultHttpMessageConvertersTests {
assertThat(converters.forServer()).hasExactlyElementsOfTypes(
ByteArrayHttpMessageConverter.class, StringHttpMessageConverter.class,
ResourceHttpMessageConverter.class, ResourceRegionHttpMessageConverter.class,
AllEncompassingFormHttpMessageConverter.class,
JacksonJsonHttpMessageConverter.class, JacksonSmileHttpMessageConverter.class,
JacksonCborHttpMessageConverter.class, JacksonYamlHttpMessageConverter.class,
JacksonXmlHttpMessageConverter.class, KotlinSerializationProtobufHttpMessageConverter.class,
AtomFeedHttpMessageConverter.class, RssChannelHttpMessageConverter.class,
AllEncompassingFormHttpMessageConverter.class);
AtomFeedHttpMessageConverter.class, RssChannelHttpMessageConverter.class);
}
@Test
@ -244,7 +244,7 @@ class DefaultHttpMessageConvertersTests { @@ -244,7 +244,7 @@ class DefaultHttpMessageConvertersTests {
void registerCustomMessageConverter() {
var converters = HttpMessageConverters.create()
.additionalMessageConverter(new CustomHttpMessageConverter()).build();
assertThat(converters.forServer()).hasExactlyElementsOfTypes(CustomHttpMessageConverter.class, AllEncompassingFormHttpMessageConverter.class);
assertThat(converters.forServer()).hasExactlyElementsOfTypes(AllEncompassingFormHttpMessageConverter.class, CustomHttpMessageConverter.class);
}
@Test

6
spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupportExtensionTests.java

@ -213,9 +213,9 @@ class WebMvcConfigurationSupportExtensionTests { @@ -213,9 +213,9 @@ class WebMvcConfigurationSupportExtensionTests {
List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
assertThat(converters).hasSize(3);
assertThat(converters.get(0).getClass()).isEqualTo(StringHttpMessageConverter.class);
assertThat(converters.get(1).getClass()).isEqualTo(JacksonJsonHttpMessageConverter.class);
assertThat(converters.get(2).getClass()).isEqualTo(AllEncompassingFormHttpMessageConverter.class);
ObjectMapper objectMapper = ((JacksonJsonHttpMessageConverter) converters.get(1)).getObjectMapper();
assertThat(converters.get(1).getClass()).isEqualTo(AllEncompassingFormHttpMessageConverter.class);
assertThat(converters.get(2).getClass()).isEqualTo(JacksonJsonHttpMessageConverter.class);
ObjectMapper objectMapper = ((JacksonJsonHttpMessageConverter) converters.get(2)).getObjectMapper();
assertThat(objectMapper.deserializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION)).isFalse();
assertThat(objectMapper.deserializationConfig().isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)).isFalse();
assertThat(objectMapper.serializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION)).isFalse();

Loading…
Cancel
Save