gpt4 book ai didi

java - 使用分页计算字段的服务器端排序?

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:48 25 4
gpt4 key购买 nike

我们必须显示一些支持分页和服务器端排序的表格数据。它是一个 React、JAVA、SQL 堆栈。在设计 REST API 时,我们同意返回一个表示每一行的复合对象 table 。该对象是作为具有大量业务逻辑的复杂 SQL 的结果而创建的。该对象由多个对象组成,每个对象又包含多个字段。这背后的想法是返回一个通用对象,这样我们就不必创建特定于请求的 DTO。

但是,我们只需使用该对象中的一些字段即可。 UI 上显示的几列基于该对象中的多个字段计算。真正的挑战是我们必须在服务器端对这些计算字段进行排序,因为我们只是获取必须在页面上显示的记录。我们很想通过在服务器端进行计算来重构响应以匹配 UI 列,但我们会遇到多个 DTO 问题。如何以最佳方式实现这一目标?有这方面的最佳实践吗?我在互联网上找不到太多信息。

最佳答案

对于类似的问题,服务器需要进行大量处理,而不是立即返回答案,我将请求分成几个部分。

1) POST 请求到服务器,以构建结果。它不是将结果返回给客户端,而是将结果存储在数据库中的结果表中,并连同结果引用 ID 一起作为对 POST 请求的回复返回给客户端。这些结果将包括要排序的计算字段。在将引用 ID 返回给客户端之后,服务器可以继续在后台构建这些结果。服务器应该回复 202 Accepted 响应,而不是 201 Created。

2) 向服务器发出 GET 请求以查询此结果表,并传递引用 ID。包括要排序的字段。如果服务器仍在构建列表,它可以返回 OK 200,但使用描述“构建”的 JSON 结构。在此期间,客户端可能会显示计时器动画,并且每隔几秒重复一次请求。

3)最终建表时,服务器根据需要传回分页数据。

4) 完成后,客户端可以发送带有引用 ID 的 DELETE 来清理结果表。但是,应该有某种清理过程来清理超过一天的结果。

请参阅此处了解更多信息:https://farazdagi.com/2014/rest-and-long-running-jobs/

也在这里: http://restcookbook.com/Resources/asynchroneous-operations/

关于java - 使用分页计算字段的服务器端排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59787777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com