一尘不染

Java Spring:通过REST API实时更新客户端状态

spring-boot

我正在Java
Spring中开发一个Web应用程序,我希望用户能够从前端上传CSV文件,然后查看导入过程的实时进度,并且在导入之后,他应该能够搜索单个条目从导入的数据。

导入过程将包括实际上传文件(通过REST API POST请求发送),然后读取文件并将其内容保存到数据库中,以便用户能够从该数据中进行搜索。

如何显示此过程的实时进度?我找到了一个jQuery教程,其中显示了上载/传输的数据量的进度,但是由于大多数工作是在处理上载的文件时完成的,所以我想我想要一个解决方案,在行处理之前我先找出量文件中的行数,然后用户可以看到如下实时消息:

处理的行数:10000中的1

它可以增量更新/更改,但是由于处理一行非常快,因此显示处理的每行数量并不那么重要。

无论哪种方式,问题都是,将这些消息从Spring REST API发送到客户端的最简单方法是什么?


阅读 305

收藏
2020-05-30

共1个答案

一尘不染

我自己找到了一个解决方案,并为此使用了Web套接字。

我从Spring文档中使用了这种方法:

https://spring.io/guides/gs/messaging-stomp-
websocket/

它可能有助于将每条处理过的行的消息发送到前端侦听器(在启动Web套接字主题/连接之后),但是我使用了另一种方法来进行数据导入,我使用了批量插入,所以我不可用。网络套接字能够做到这一点。

2020-05-30