我不确定解决此问题的最佳方法:
我正在编写一个 Web 应用程序,它为许多“项目”对象实现了基本的 CRUD 功能。因此,用户可以创建他/她自己的一组项目。
我已经编写了一个用于添加/删除/列出项目的 REST API,并且我已经编写了一个 Reagent 前端客户端。如您所料,客户的项目保存在试剂原子(ratom)中。
这就是有趣的地方。
在我看过的所有教程中,它向您展示了如何更新 Ratom,您的 GUI 将自动更新。我有那个,那行得通。
我目前正在做的是,在更新客户端状态时,我进行 REST POST 调用以更新数据库上的服务器状态。
但是,这感觉不对。我现在将状态存储在两个地方:客户端和服务器上,两者都可能不同。
如果我将其实现为一个普通的旧网页,服务器将向客户端发送一个页面,其中包含数据库的最新状态。但是,状态已经存在于客户端上,我不知道应该如何同步它。
在初始 POST 成功后,我是否应该再次调用服务器(GET 请求)?这可以代替鼠尾草的内容。然后我提出了两个请求……这似乎很浪费。
或者是使用chord或sente之类的东西来异步管理客户端状态的最佳实践。这会更好,因为这意味着来自其他用户的更改将在客户端立即刷新。但是,我看不到任何演示对其中任何一个做出反应的教程,所以也许我走错了路。
所以问题很简单,应该如何结合使用 REST?
谢谢