我正在尝试使用MetricsModule
来解析/metrics
端点的响应主体。由于某种原因,模块永远不会注册相应的ObjectMapper
。
我发现这个@PostConstruct
方法被删除了:
@PostConstruct
private void More ...registerModulesWithObjectMappers() {
Collection<Module> modules = getBeans(this.beanFactory, Module.class);
for (ObjectMapper objectMapper : getBeans(this.beanFactory, ObjectMapper.class)) {
objectMapper.registerModules(modules);
}
我已经实现了自己的代码来做同样的事情,但我不确定这是否是解决此问题的正确方法。
为什么JacksonAutoConfiguration
不支持这种类型的自动配置?
答案 0 :(得分:0)
在问题"Don't register Jackson Module beans with all ObjectMappers"的提交"Make Jackson auto-configuration more consistent and predictable"中删除了该方法。简而言之,这样做是为了不弄乱容器中的每个ObjectMapper
bean。
要确保您的Module
bean已使用自动配置的ObjectMapper
注册,请确保Module
创建不依赖于ObjectMapper
的实例。例如,在创建ObjectMapper
bean之前,不要在任何地方自动配置自动配置的Module
。