消息转换器

您可以通过覆盖 configureMessageConverters() 来在 Java 配置中设置要使用的 HttpMessageConverter 实例,替换默认使用的实例。 您还可以通过覆盖 extendMessageConverters() 来在最后自定义已配置的消息转换器列表。

在 Spring Boot 应用程序中,WebMvcAutoConfiguration 除了默认转换器之外,还会添加它检测到的任何 HttpMessageConverter bean。因此,在 Boot 应用程序中,更倾向于使用 HttpMessageConverters 机制。或者,使用 extendMessageConverters 在最后修改消息转换器。

以下示例添加了带有自定义 ObjectMapper 的 XML 和 Jackson JSON 转换器,而不是默认的转换器:

在前面的示例中, Jackson2ObjectMapperBuilder 用于为 MappingJackson2HttpMessageConverterMappingJackson2XmlHttpMessageConverter 创建通用配置,该配置启用了缩进、自定义日期格式, 并注册了 jackson-module-parameter-names, 它增加了对访问参数名称的支持(Java 8 中添加的功能)。

此构建器按如下方式自定义 Jackson 的默认属性:

如果 classpath 上检测到以下知名模块,它还会自动注册它们:

启用 Jackson XML 支持的缩进需要 woodstox-core-asl 依赖项,以及 jackson-dataformat-xml 依赖项。

还有其他有趣的 Jackson 模块可用: