Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 发送多个请求以获得最终响应还是保留第一个请求?_Java_Rest_Response - Fatal编程技术网

Java 发送多个请求以获得最终响应还是保留第一个请求?

Java 发送多个请求以获得最终响应还是保留第一个请求?,java,rest,response,Java,Rest,Response,我正在设计一个需要一些时间才能响应的API REST服务。 我想知道哪种方式更好,发送几个请求以获得最终响应,还是保留请求直到响应就绪。 比如说, 一所学校有120名学生,需要1分钟才能得到所有学生的名字 每10秒发送一次请求以获得20名学生的名字,直到我们获得120名学生,这是否好。或者在1分钟后与120名学生保持请求和响应 (请注意,某些浏览器和HttpClient会在1分钟后超时请求,因此存在风险) (请注意,发送更多请求可能会被检测为DOS攻击)对于类似的问题,我列出了赞成/反对意见,然

我正在设计一个需要一些时间才能响应的API REST服务。 我想知道哪种方式更好,发送几个请求以获得最终响应,还是保留请求直到响应就绪。 比如说,

一所学校有120名学生,需要1分钟才能得到所有学生的名字

每10秒发送一次请求以获得20名学生的名字,直到我们获得120名学生,这是否好。或者在1分钟后与120名学生保持请求和响应

(请注意,某些浏览器和HttpClient会在1分钟后超时请求,因此存在风险)
(请注意,发送更多请求可能会被检测为DOS攻击)

对于类似的问题,我列出了赞成/反对意见,然后查看结果。通常,在创建这些列表时,会出现更好的解决方案

这两种方法都没有明显的技术优势

当请求需要一分钟时,用户是否会认为服务已关闭并重新加载页面?这确实会造成DDoS攻击

用户会阅读所有120个条目吗?谷歌只是返回了一些,因为经验表明,大多数人阅读前三名

为什么要花这么长时间?数据库中的索引错误?还是你加载了太多的数据?也许只要知道学生的姓名、系和年份就足够了。或者创建一个作业,该作业保留一个视图表,其中查询所需的所有数据都联接到一个表中。这样,加载数据只需几毫秒


或者加载20个,显示它们,然后等待用户是否向下滚动(关键字“无限滚动条”)。另一个选项是分页(加载20个元素并显示下一个/上一个按钮)。

我不知道您确切需要什么,但对于get API,您可以使用分页器概念。在那里,您可以定义一个响应中的10个学生数据这样的限制,数据存储在哪里?您可以使用分页..同意@pkgajulapalli。如果数据检索需要很长时间,可以使用缓存层。