消息转换器
使用MVC Java编程配置方式时,如果你想替换Spring MVC提供的默认转换器,完全定制自己的HttpMessageConverter
,这可以通过覆写configureMessageConverters()
方法来实现。如果你只是想定制一下,或者想在默认转换器之外再添加其他的转换器,那么可以通过覆写extendMessageConverters()
方法来实现。
下面是一段例子,它使用定制的ObjectMapper
构造了新的Jackson的JSON和XML转换器,并用它们替换了默认提供的转换器:
在上面的例子中,Jackson2ObjectMapperBuilder
用于为MappingJackson2HttpMessageConverter
和MappingJackson2XmlHttpMessageConverter
转换器创建公共的配置,比如启用tab缩进、定制的日期格式,并注册了一个模块jackson-module-parameter-names用于获取参数名(Java 8新增的特性)
除了
jackson- dataformat-xml
,要启用Jackson XML的tab缩进支持,还需要一个woodstox-core-asl
依赖。
还有其他有用的Jackson模块可以使用:
jackson-datatype-money:提供了对
javax.money
类型的支持(非官方模块)jackson-datatype-hibernate:提供了Hibernate相关的类型和属性支持(包含懒加载aspects)
在XML做同样的事也是可能的:
Last updated
Was this helpful?