【问题标题】:Vapor - Get model from HTMLVapor - 从 HTML 中获取模型
【发布时间】:2017-09-05 00:10:48
【问题描述】:

我正在学习 Vapor,但被困在与服务器交互的正确方式上。所以这就是我在做什么的想法..

您将 XML 文件上传到服务器,服务器对其进行处理,将其转换为模型对象的大列表,并返回 json 对象列表。使用叶子,我将模型填充到表格视图中。示例:

 #loop(objects, "object") {
      <tr>
        <td>#(object.id)</td>
        <td>#(object.name)</td>
      </tr>
    }

这一切正常的文件。这就是我卡住的地方。在我的表格视图的顶部,我有一些按钮可以对对象数组执行操作。即:批量重命名对象,或对它们应用某种逻辑。然后我想要下载各种格式的模型对象列表的功能。

我希望所有这些逻辑都存在于我的蒸汽服务器上。我迷路的地方是如何与 Vapor 服务器来回传递这个非常大的列表。服务器是否应该存储当前 Web 会话的对象列表?我研究了在 HTML 中使用 Javascript,但是我是否需要解析 DOM 来创建我的模型对象。在那一点上,什么都不会在蒸汽中发生。 (其中一些任务会非常耗费服务器。

我正在查看 fluent,但问题是我是否有当前会话的数据库,并在完成后将其删除?我会担心这个概念的记忆问题吗?我认为当您上传 XML 时,它会创建一个会话 ID,并且您的所有请求都基于此。然后 ID 将在某个时候过期。这都是猜测哪个最有效..

关于操作蒸汽模型对象的最佳方法有什么想法吗?

谢谢!

【问题讨论】:

    标签: swift fluent vapor


    【解决方案1】:

    我认为当您上传 XML 时,它会创建一个会话 ID,您的所有请求都基于此。然后 ID 将在某个时候过期。

    宾果游戏。如果您确定要在服务器端进行此处理,那么您已经回答了您的问题。您应该有一个存储模型对象的数据库表以及一个随机会话 ID(可以由 Vapor 使用 SessionsMiddleware 管理)。

    当您的用户完成其模型的处理后,您将删除所有具有其会话 ID 的对象。您还应该定期运行删除属于过期会话的模型的计划作业。

    如果您决定实施用户身份验证,则可以使用用户 ID 而不是会话 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 2021-11-23
      • 2018-11-27
      相关资源
      最近更新 更多