【问题标题】:Request with params, processing and rendering SPA - architectural approach带有参数的请求,处理和渲染 SPA - 架构方法
【发布时间】:2020-04-01 09:09:20
【问题描述】:

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

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

也许我很困惑 - 我曾与许多前端开发人员合作过,但我从未想过如何在有人点击带有参数的某个 URL 并通过后端处理所有传递的参数时真正“启动”一个 SPA。

我刚刚写的内容在客户端呈现 React 并且 Spring Boot 作为后端是否可行?或者我是否必须使用 React 服务器端渲染,因为我有这个带参数的静态 URL? 有人可以澄清我应该如何处理这个问题吗?

【问题讨论】:

    标签: reactjs spring-boot architecture single-page-application


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2014-08-30
      相关资源
      最近更新 更多