有没有办法用RestTemplate处理Stream Json?

时间:2018-05-22 16:10:51

标签: spring spring-mvc spring-webflux

有没有办法按照application/stream+json的方式处理RestTemplate内容webClient的内容?

就我的尝试而言,在restTemplate.getForEntity中包含Flux.just(<convert response entity to mono here>)之类的结果只会返回第一个元素并停在那里,而webClient正确处理它,填充当json出现时会生成新条目。 Haven还尝试过与inputStream合作,但乍一看它似乎并不是我所需要的,尽管有一个&#34; stream&#34;以它的名字。

不幸的是,在这种情况下使用webClient将是一个相当昂贵的选择(仍在等待https://github.com/spring-projects/spring-security/issues/4921)。我宁愿实施那些很快就能做到的事情。只有在完全没有办法的情况下才能正式出现。

1 个答案:

答案 0 :(得分:0)

RestTemplate正在公开一个不打算用于流式传输HTTP响应的API。每次调用后都会读取并关闭基础HTTP响应,而"application/stream+json"媒体类型则用于流式响应。

我认为没有任何方法可以通过设计正确处理此用例(阅读流式响应)RestTemplate(另请查看SPR-14882)。因此,您可能必须等待解决该问题,或者使用具有此类功能的其他HTTP客户端。