reactJS/Axios 并使用 Streams 处理长响应时间?

克洛梅兹

我有 Java spring-boot 后端和一些数据端点。

其中之一是POST使用 axios 的参数很少。这里的问题是请求需要很长时间才能完全完成并从服务器端发送。POST需要在应用程序内部解析和转发参数,然后计算响应。

我返回一个List<Object>(需要预先排序)

列表的第一部分将在几秒钟内准备好,但获取整个列表需要几分钟甚至几十分钟,具体取决于发送的参数。

所以第一个问题是 Axios 抛出network error,我认为这是因为响应时间很长。(使用较短的查询时它会消失)第二个问题是应用程序似乎对开发人员以外的任何人都没有响应。

有没有办法使用某种 Java Stream 类型的解决方案在等待其余部分的同时发送响应的第一部分?或者也许是某种分页解决方案?

我已经使用谷歌搜索了一段时间,但还没有针对这个问题找到任何好的解决方案。

这是控制器的一部分供参考:

 @RequestMapping(value = "/contracts", method = RequestMethod.POST)
 public String Contracts(@RequestBody String req)  throws JsonProcessingException {

    //omitting parse JSON params from req string

    ObjectMapper objectMapper = new ObjectMapper();
    return objectMapper.writeValueAsString(DateRange.getDataForDateRange(param1, param2, param3));
}

我知道这是一个广泛的问题,但了解这样做背后的方法或技术对我所做的一切都非常有益:)

谢谢!

克洛梅兹

Soo终于得到了我的答案。

用名为DeferredResult 的java 类找到了我的答案

我不知道为什么,但似乎你无法得到任何比非常基础和明显的东西更难的问题的答案了......

这是我经过几天研究后回答的第n个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章