今天在zuul上面获取返回值后,接口获取不到数据
主要代码如下:
RequestContext ctx = RequestContext.getCurrentContext();
InputStream stream = ctx.getResponseDataStream();
String body = StreamUtils.copyToString(stream, Charset.forName("UTF-8"));
//根据body做某些逻辑处理
当时以为 InputStream stream = ctx.getResponseDataStream(), 还是stream
,所以就没有做其他操作。
后来尝试了几次,接口返回的数据为空。。
解决办法:
ctx.setResponseDataStream(new ByteArrayInputStream(body.getBytes()));
原因:
博客讲述在zuul上获取返回值后接口获取不到数据的问题。起初未对InputStream stream = ctx.getResponseDataStream()做其他操作,多次尝试后接口返回数据仍为空,最终发现原因是java输入输出流单向性。
168万+

被折叠的 条评论
为什么被折叠?



