赞
踩
1. 报错
feign.codec.DecodeException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.XXX] and content type [text/plain]
at feign.SynchronousMethodHandler.decode(SynchronousMethodHandler.java:169)
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:133)
at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76)
at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103)``
2、解决方案
2.1
public class ExtMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
/*解决no suitable HttpMessageConverter found for response type [class com.XXX] and content type [text/plain]*/
public ExtMappingJackson2HttpMessageConverter(){
List<MediaType> mediaTypes = new ArrayList<>();
mediaTypes.add(MediaType.TEXT_PLAIN);
setSupportedMediaTypes(mediaTypes);// tag6
}
}
2.2
@Configuration public class ConfigBean { @Bean public Decoder feignDecoder() { return new ResponseEntityDecoder(new SpringDecoder(feignHttpMessageConverter())); } public ObjectFactory<HttpMessageConverters> feignHttpMessageConverter() { final HttpMessageConverters httpMessageConverters = new HttpMessageConverters(new ExtMappingJackson2HttpMessageConverter()); return new ObjectFactory<HttpMessageConverters>() { @Override public HttpMessageConverters getObject() throws BeansException { return httpMessageConverters; } }; } @Bean RestTemplate restTemplate(){ RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new ExtMappingJackson2HttpMessageConverter()); return restTemplate; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。