Commit 72bfd4ce authored by Dave Syer's avatar Dave Syer

Protect HttpMessageConverters if MVC is not available

parent 5dab07d0
...@@ -25,6 +25,8 @@ import java.util.List; ...@@ -25,6 +25,8 @@ import java.util.List;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter; import org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter;
import org.springframework.util.ClassUtils;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
/** /**
...@@ -88,11 +90,19 @@ public class HttpMessageConverters implements Iterable<HttpMessageConverter<?>> ...@@ -88,11 +90,19 @@ public class HttpMessageConverters implements Iterable<HttpMessageConverter<?>>
private List<HttpMessageConverter<?>> getDefaultConverters() { private List<HttpMessageConverter<?>> getDefaultConverters() {
List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>(); List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();
converters.addAll(new WebMvcConfigurationSupport() { if (ClassUtils
public List<HttpMessageConverter<?>> defaultMessageConverters() { .isPresent(
return super.getMessageConverters(); "org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport",
} null)) {
}.defaultMessageConverters()); converters.addAll(new WebMvcConfigurationSupport() {
public List<HttpMessageConverter<?>> defaultMessageConverters() {
return super.getMessageConverters();
}
}.defaultMessageConverters());
}
else {
converters.addAll(new RestTemplate().getMessageConverters());
}
reorderXmlConvertersToEnd(converters); reorderXmlConvertersToEnd(converters);
return converters; return converters;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment