小编bjw*_*zds的帖子

Openfeign ErrorDecoder 导致 java.io.IOException: 流已关闭

当我尝试实现ErrorDecoder解码 feign 异常时,我发现输入的流response.body()已关闭,因此当我尝试读取流并转换为字符串时,它抛出java.io.IOException: stream is closed. 真的很困惑,因为在解码器之前,我没有做任何事情来关闭流。

public class FeignClientErrorDecoder implements ErrorDecoder {
    @Override
    public Exception decode(String methodKey, Response response) {
        log.info("feign client response: {}", response);
        String body = null;
        try {
            body = Util.toString(response.body().asReader(Charset.defaultCharset()));
        } catch (IOException e) {
            log.error("feign.IOException", e);
        }
        return new ServiceException(MessageCode.builder(ExceptionCodeEnum.ERROR));
    }
}
Run Code Online (Sandbox Code Playgroud)

java stream feign openfeign

3
推荐指数
2
解决办法
2829
查看次数

标签 统计

feign ×1

java ×1

openfeign ×1

stream ×1