swift - Vapor - 从 HTML 获取模型

标签 swift fluent vapor

我正在学习 Vapor,并陷入与服务器交互的正确方法。这就是我正在做的事情的想法..

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

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

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

我希望所有这些逻辑都存在于我的 Vapor 服务器上。我迷失的是如何与 Vapor 服务器来回传递这个非常大的列表。服务器是否应该存储当前 Web session 的对象列表?我研究了在 HTML 中使用 Javascript,但是我是否需要解析 DOM 来创建我的模型对象。到那时, Steam 中就不会发生任何事情。 (其中一些任务对服务器来说非常密集。

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

关于操纵 Steam 模型对象的最佳方法有什么想法吗?

谢谢!

最佳答案

I would think when you upload the XML, it creates a session ID, and all your requests are based off of that. Then the ID would expire at some point.

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

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

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

关于swift - Vapor - 从 HTML 获取模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045324/

相关文章:

ios - 如何使函数内的变量成为全局变量?

ios - 一次向核心 - 数据关系添加多个操作

swift - 使用 vapor 设置 SSL

swift - 在 Vapor 上使用 Bootstrap

swift - 访问 `Request` body 参数

json - Swift JSON 解析 - 无法访问字段/返回 nil

php - 在 laravel 5.2 中使用 pagination() 的 distinct() 不起作用

php - Laravel 4 从子查询中的另一个表中选择列

c# - 如何将枚举类型映射到 tinyint

ios - UIImage 显示蓝色矩形而不是 JPEG 图像