自定义feign的返回拦截器,遭遇返回流只能读取一次的情况,这个如何处理?
@Component
public class FeignResponseInterceptor implements ResponseInterceptor {
@Override
public Object aroundDecode(InvocationContext invocationContext) throws IOException {
Request request = invocationContext.response().request();
Response response = invocationContext.response();
Response logResponse = Response.builder()
.request(request)
.body(response.body())
.build();
String result = StreamUtils.copyToString(logResponse.body().asInputStream(), StandardCharsets.UTF_8);
return invocationContext.proceed();
}
}
取出result进行返回日志打印后,返回给接口调用处就是null了,这个谁有这方面的处理经验呢?
不采用result转成Type后return回去的方法,单纯怎么搞才能将流返回回去?