报错信息:
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'http': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
或者
Unrecognized token 'http': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (BufferedReader); line: 1, column: 5] reading POST
参考方案:OpenFeignClient用Object接收text/plain类型的返回报错_tino.tang的博客-优快云博客
解决方案:
package com.bpback.common.kanban;
import org.springframework.http.MediaType;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import java.util.ArrayList;
import java.util.List;
public class MyJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
//fegin接收content-type:text/plain 返回体的解决方案
public MyJackson2HttpMessageConverter(){
List<MediaType> mediaTypes = new ArrayList<>();
mediaTypes.add(MediaType.TEXT_PLAIN);
setSupportedMediaTypes(mediaTypes);
}
}
@Bean
public RequirementClient requirementClient(){
MyJackson2HttpMessageConverter converter =new MyJackson2HttpMessageConverter();
ObjectFactory<HttpMessageConverters> objectFactory = () -> new HttpMessageConverters(converter);
return Feign.builder()
.encoder(new JacksonEncoder())
.decoder(new SpringDecoder(objectFactory))
.requestInterceptor(new BasicAuthRequestInterceptor(userName, password, UTF_8))
.target(RequirementClient.class, featureurl);
}
ps:找了两小时,终于看到解决方案。膜拜大佬。