This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Framework 6.2.8!

Message Converters

You can configure the HttpMessageConverter instances to use by overriding configureMessageConverters().

The following example configures custom Jackson JSON and XML converters with customized mappers instead of the default ones:

  • Java

  • Kotlin

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

	@Override
	public void configureMessageConverters(HttpMessageConverters.Builder builder) {
		JsonMapper jsonMapper = JsonMapper.builder()
				.findAndAddModules()
				.enable(SerializationFeature.INDENT_OUTPUT)
				.defaultDateFormat(new SimpleDateFormat("yyyy-MM-dd"))
				.build();
		XmlMapper xmlMapper = XmlMapper.builder()
				.findAndAddModules()
				.defaultUseWrapper(false)
				.build();
		builder.jsonMessageConverter(new JacksonJsonHttpMessageConverter(jsonMapper))
				.xmlMessageConverter(new JacksonXmlHttpMessageConverter(xmlMapper));
	}
}
@Configuration
class WebConfiguration : WebMvcConfigurer {

	override fun configureMessageConverters(builder: HttpMessageConverters.Builder) {
		val jsonMapper = JsonMapper.builder()
			.findAndAddModules()
			.enable(SerializationFeature.INDENT_OUTPUT)
			.defaultDateFormat(SimpleDateFormat("yyyy-MM-dd"))
			.build()
		val xmlMapper = XmlMapper.builder()
			.findAndAddModules()
			.defaultUseWrapper(false)
			.build()
		builder.jsonMessageConverter(JacksonJsonHttpMessageConverter(jsonMapper))
			.xmlMessageConverter(JacksonXmlHttpMessageConverter(xmlMapper))
	}
}