我遇到了一个需要为第三方API定义一次性@FeignClient的场景。在这个客户端中,我想使用与我的@Primary不同的自定义Jackson ObjectMapper。我知道可以重写Spring的假装配置默认值,但是我不清楚如何仅仅通过这个特定的客户端来覆盖ObjectMapper。如何使用Spring云Netflix Feign设置自定义Jackson ObjectMapper
3
A
回答
8
根据documentation,您可以为您的Feign客户端提供自定义解码器,如下所示。
假死客户端接口:
@FeignClient(value = "foo", configuration = FooClientConfig.class)
public interface FooClient{
//Your mappings
}
假死客户定制配置:
@Configuration
public class FooClientConfig {
@Bean
public Decoder feignDecoder() {
HttpMessageConverter jacksonConverter = new MappingJackson2HttpMessageConverter(customObjectMapper());
ObjectFactory<HttpMessageConverters> objectFactory =() -> new HttpMessageConverters(jacksonConverter);
return new ResponseEntityDecoder(new SpringDecoder(objectFactory));
}
public ObjectMapper customObjectMapper(){
ObjectMapper objectMapper = new ObjectMapper();
//Customize as much as you want
return objectMapper;
}
}
+0
简单地用'return new JacksonDecoder(customObjectMapper());'' – leveluptor
相关问题
- 1. 如何在Feign-Client中设置HostnameVerifier从spring-cloud-netflix-feign
- 2. 如何使用Spring application.properties定制Jackson ObjectMapper?
- 3. 如何使用jackson ObjectMapper将POJO映射到自定义地图?
- 4. 使用Netflix Feign和Hystrix设置请求超时
- 5. Jackson - 将自定义PrettyPrinter与自定义JsonSerializer一起使用
- 6. 自定义Jackson ObjectMapper读取自定义注释和掩码字段注释
- 7. Spring netflix eureka,zuul vs Spring云数据流
- 8. netflix feign POST请求问题
- 9. 使用jackson ObjectMapper时保留的堆大小更多ObjectMapper
- 10. 如何使用AutoMapper注册自定义ObjectMapper
- 11. 库中的自定义Jackson序列化
- 12. 春季云Netflix和HystrixObservable - > JsonMappingException
- 13. 春天云Feign OAuth2RestTemplate
- 14. Feign客户端自定义oauth2响应
- 15. 在Jackson中使用自定义编组器没有注释?
- 16. Jackson ObjectMapper大/小写问题
- 17. 如何使用Jackson ObjectMapper获取字段类型?
- 18. 使用Jackson的JSON字段的自定义反序列化
- 19. 配置Jackson在Spring Boot 2.0.0中使用SNAKE_CASE“全局”2.0.0.M1
- 20. 如何用Jackson自定义方式实例化bean?
- 21. 如何配置Jackson ObjectMapper只显示白名单属性?
- 22. 如何在Java Spring应用程序中使用Netflix的Feign库进行HTTP请求缓存
- 23. 使用Spring-WS客户端动态设置自定义HTTP头
- 24. RESTEasy + Spring + Jackson + Jaxb
- 25. 如何在Jackson上使用自定义id序列化程序?
- 26. 如何在Spring中设置自定义Mongo格式器?
- 27. 如何配置Spring Security以使用自定义AuthenticationManager实现?
- 28. 如何使用spring-cloud-config-client配置自定义RestTemplate?
- 29. 如何创建一个自定义setter来设置Jersey/Jackson中的对象?
- 30. 如何在spring云中创建自定义zuul过滤器
你有没有尝试过了,它不工作? Spring Cloud Feign使用与Spring MVC使用的相同的'HttpMessageConverters'对象。将其配置为普通的Spring Boot方式应该“正常工作”(以为我自己并没有尝试过)。 http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson-objectmapper – spencergibb
@spencergibb我可以覆盖ObjectMapper,并且它被所有Spring正确使用MVC控制器和所有Feign客户端。然而,我需要的是一个特殊的假客户端,使用默认配置的不同对象映射器。我不知道如何开始做这项工作。 – Newbie
您必须使用之前发布的doc链接创建一个'SpringDecoder' bean,并在那里混淆它。 – spencergibb