使用参数请求,处理和渲染SPA - 架构方法



我不知道如何命名这个问题,但这是我需要做的,我正在寻找一些如何在架构上处理它的建议。我是Java/Kotlin开发人员,非常熟悉Spring Boot,并且对整个前端有非常基本的了解 - 所以你知道我的起源。 这是我的新应用程序的流程:

  1. 用户检索一个生成的链接,其中包含许多参数,他可以在浏览器中单击这些参数
  2. 当他点击该链接时,我想在后端检索这些参数,运行一些冗长的外部 API 调用和计算(最多 10 秒(,然后逐个返回结果(一些 websocket 或服务器发送的事件(并将它们呈现在 SPA 应用程序中(最好是 React(,结果很好地呈现,以便他可以选择我计算的选项之一, 填写一些表格并付款。

也许我很困惑 - 我与许多前端开发人员合作过,但我从未想过当有人单击带有参数的某个 URL 然后通过后端处理所有这些传递的参数时,如何实际"启动"SPA。

我刚刚写的东西在客户端渲染 React 和 Spring Boot 作为后端可行吗?还是我必须使用 React 服务器端渲染,因为我有这个带有参数的静态 URL? 有人可以澄清我应该如何处理这个问题吗?

通常,当 SPA 托管在域上时,Web 服务器将配置为将所有路径上的所有请求重定向到根 URL。因此,无论用户尝试访问域上的哪个路径,SPA 仍然会被加载。

然后在 React SPA 中检查 window.location 以查找 url 中的路径和参数。然后,您调用后端(很可能在另一个域上(通过 Web 请求向其发送参数。然后,它会发回带有随机密钥的响应,并继续在后台启动耗时的过程。当结果进来时,它们会针对随机键全局地持久化在字典中(可能是数据库,如果您只需要一个后端服务器,则可以保存在内存中(。然后在另一个 API 端点上,React 前端可以使用随机键轮询并获取处理的当前状态,并将其显示给用户。