@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2012 - 2019 the original author or authors .
* Copyright 2012 - 2020 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -16,7 +16,6 @@
@@ -16,7 +16,6 @@
package org.springframework.boot.autoconfigure.http ;
import java.lang.reflect.Field ;
import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.Collection ;
@ -24,13 +23,11 @@ import java.util.Collections;
@@ -24,13 +23,11 @@ import java.util.Collections;
import java.util.Iterator ;
import java.util.List ;
import org.springframework.http.converter.FormHttpMessageConverter ;
import org.springframework.http.converter.HttpMessageConverter ;
import org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter ;
import org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter ;
import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter ;
import org.springframework.util.ClassUtils ;
import org.springframework.util.ReflectionUtils ;
import org.springframework.web.client.RestTemplate ;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport ;
@ -140,19 +137,12 @@ public class HttpMessageConverters implements Iterable<HttpMessageConverter<?>>
@@ -140,19 +137,12 @@ public class HttpMessageConverters implements Iterable<HttpMessageConverter<?>>
private void configurePartConverters ( AllEncompassingFormHttpMessageConverter formConverter ,
Collection < HttpMessageConverter < ? > > converters ) {
List < HttpMessageConverter < ? > > partConverters = extractPartConverters ( formConverter ) ;
List < HttpMessageConverter < ? > > partConverters = formConverter . getPartConverters ( ) ;
List < HttpMessageConverter < ? > > combinedConverters = getCombinedConverters ( converters , partConverters ) ;
combinedConverters = postProcessPartConverters ( combinedConverters ) ;
formConverter . setPartConverters ( combinedConverters ) ;
}
@SuppressWarnings ( "unchecked" )
private List < HttpMessageConverter < ? > > extractPartConverters ( FormHttpMessageConverter formConverter ) {
Field field = ReflectionUtils . findField ( FormHttpMessageConverter . class , "partConverters" ) ;
ReflectionUtils . makeAccessible ( field ) ;
return ( List < HttpMessageConverter < ? > > ) ReflectionUtils . getField ( field , formConverter ) ;
}
/ * *
* Method that can be used to post - process the { @link HttpMessageConverter } list
* before it is used .