使用Spring Boot 1.2.2创建一个Spring MVC应用程序。我也在使用Spring HATEOAS。
我遇到的问题是,当我的控制器方法返回List<>
时,正确使用了配置的ObjectMapper,但是当我返回Resource
类(例如,MyClass extends ResourceSupport
)时,正在使用不同的ObjectMapper。
尝试configure Jackson's ObjectMapper有点令人沮丧。我已经按照文档进行操作,并将自己的ObjectMapper
@Bean
添加到@Configuration
类中,并用@Primary
对其进行了注释,并且在序列化List<>
时正在使用该类。
在ObjectMapper构造函数的断点上设置一个断点可以发现该构造函数被调用了大约20次。我对每种情况都做了很差的总结:
@Bean
注释的@Primary
)最佳答案
我建议使用application.properties
配置Jackson,或者,如果需要更多控制,则声明自己的Jackson2ObjectMapperBuilder
bean。无论哪种情况,最终在应用程序上下文中都有一个Jackson2ObjectMapperBuilder
bean,然后其他组件可以使用它来创建具有所需配置的ObjectMapper
或将该配置应用于任何现有的ObjectMapper
。
编辑:打开an issue可以提高执行器的ObjectMapper
的使用率。