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