原生OpenFeign使用FastJson作为Decoder解析
FastJsonDecoder
public class FastjsonDecoder implements Decoder {
@Override
public Object decode(Response response, Type type) throws IOException, FeignException {
if (response.body() == null) {
return null;
} else {
InputStream inputStream = response.body().asInputStream();
String s = IOUtils.toString(inputStream);
try {
return JSONObject.parseObject(s, type);
}catch (JSONException e){
throw e;
}
}
}
}
Feign配置
Feign.builder().decoder(new FastjsonDecoder())
.target(Service.class, url);
Maven
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<version>11.6</version>
</dependency>