@RequestMapping(produces = MediaType.APPLICATION_JSON_UTF8_VALUE, method = RequestMethod.GET,
value = "/temp/test/data")
String testData(@RequestParam("data") String data);
调用Feign接口
@GetMapping("/internal/test/data")
public String testData(@RequestParam("data") String data){
return facadeFeignClient.testData(data);
}
调用feign接口报错
Caused by: org.springframework.web.client.RestClientException: Error while extracting response for type [class java.lang.String] and content type [application/json;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null')
at [Source: (PushbackInputStream); line: 1, column: 13]
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:117)
at org.springframework.cloud.openfeign.support.SpringDecoder.decode(SpringDecoder.java:59)
at org.springframework.cloud.openfeign.support.ResponseEntityDecoder.decode(ResponseEntityDecoder.java:62)
at feign.optionals.OptionalDecoder.decode(OptionalDecoder.java:36)
at feign.SynchronousMethodHandler.decode(SynchronousMethodHandler.java:176)
... 79 more
Caused by: org.springframework.web.client.RestClientException: Error while extracting response for type [class java.lang.String] and content type [application/json;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'adsf22': was expecting ('true', 'false' or 'null')
at [Source: (PushbackInputStream); line: 1, column: 13]
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:117)
at org.springframework.cloud.openfeign.support.SpringDecoder.decode(SpringDecoder.java:59)
at org.springframework.cloud.openfeign.support.ResponseEntityDecoder.decode(ResponseEntityDecoder.java:62)
at feign.optionals.OptionalDecoder.decode(OptionalDecoder.java:36)
at feign.SynchronousMethodHandl
问题分析
跟踪代码发现,这里的messageConverter只有一个,没有对应的String的converter.
项目中HttpMessageConverters这个bean被重写了,且只定义了一个MappingJackson2HttpMessageConverter
@Bean
public HttpMessageConverters customConverters() {
return new HttpMessageConverters(false, Arrays.asList(new MappingJackson2HttpMessageConverter()));
}
解决方法
删除项目中重写的HttpMessageConverters这个Bean方法


![Feign - Error while extracting response for type [class java.lang.String] Feign - Error while extracting response for type [class java.lang.String]](http://www.mshxw.com/aiimages/31/445419.png)
