How can I configure my custom message converter to have register-defaults="false"
in a XML-less project with Spring 4?
<mvc:annotation-driven register-defaults="false">
<mvc:message-converters>
<bean class="myproject.MyCustomHttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>
Currently I have this Configuration
:
@Configuration
@EnableWebMvc
@ComponentScan
public class TestDataConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converters.add(converter);
}
}
Thank you
Your Java Configuration as it is, is similar to the one with register-defaults="false"
in XML Configuration. You don't need to do anything. But if you want to Register Defaults you would have to extend from WebMvcConfigurationSupport
and add the last line specified in the below code snippet.
@Configuration
@EnableWebMvc
@ComponentScan
public class TestDataConfig extends WebMvcConfigurationSupport {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converters.add(converter);
super.addDefaultHttpMessageConverters(); // Have to call this explicitly to register Default Message Converters.
}
}
It is true, what @shazin has written - that Java configuration from the first post is an equivalent to XML's register-defaults="false"
.
However, if you need to get an equivalent to register-defaults="true"
- as far as i'm aware - you could implement extendMessageConverters(List<HttpMessageConverter<?>> converters)
method in WebMvcConfigurer
(or override it in WebMvcConfigurerAdapter
) - like in an example below:
public class TestDataConfig extends WebMvcConfigurerAdapter {
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
// your custom implementation
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With