【发布时间】:2019-12-27 11:17:25
【问题描述】:
我想在 Spring Boot 中注册一个自定义 MessageConverter,以便让我更好地控制消息的转换方式。我有一个 Spring Boot 2.1.7 Webflux 应用程序。
我创建了我的自定义转换器:
public class CustomConverter extends MappingJackson2HttpMessageConverter {
...
}
并通过以下方式注册:
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) {
return new CustomConverter();
}
我还通过自动装配HttpMessageConverters 确认它已注册并确认它在转换器列表中。
然后我实现了一些我期望被调用的方法,例如canRead、canWrite、readInternal、writeInternal,并在它们上放置断点。
我的应用程序公开了一个使用 JSON 响应的 Rest 端点,并且还调用了一个外部 Rest 服务,该服务 POST 一个 JSON 有效负载并接收 JSON 作为回报。
我在任何时候都看不到我的转换器正在被使用。我什至删除了所有其他转换器,只留下我自己的,但它仍然没有被调用。
我错过了什么吗?
【问题讨论】:
标签: spring-boot spring-webflux