【发布时间】:2016-06-21 14:28:59
【问题描述】:
我遇到了一种情况,我需要为第三方 API 定义一次性的 @FeignClient。在这个客户端中,我想使用与我的@Primary 不同的自定义 Jackson ObjectMapper。我知道可以覆盖 spring 的 feign 配置默认值,但是我不清楚如何仅通过这个特定的客户端简单地覆盖 ObjectMapper。
【问题讨论】:
-
你试过了还是不行? Spring Cloud Feign 使用与 Spring MVC 相同的
HttpMessageConverters对象。以正常的 Spring Boot 方式配置它应该“正常工作”(以为我自己没有尝试过)。 docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/… -
@spencergibb 我可以覆盖 ObjectMapper,它被所有 Spring MVC 控制器和所有 Feign 客户端正确使用。但是,我需要一个特定的 feign 客户端,在众多客户端中,使用与默认配置的对象映射器不同的对象映射器。我什至不知道如何开始做这项工作。
-
你必须使用之前发布的文档链接创建一个
SpringDecoderbean,然后在那里搞砸。 -
@spencergibb,我开始工作,如下面的答案所示。谢谢你的帮助。
标签: spring spring-mvc spring-cloud feign spring-cloud-netflix