VueJS+Quasar+Pinia+Axios单页应用
我有一个名为user的实体,它有4个相关的端点:
- 获取/用户
- POST/用户
- PUT/user/{id}
- 删除/用户/{id}
当我加载页面时,我调用GET,并将用户的响应切片保存在存储(userStore(中
Post and Put在响应的正文中返回创建/更新的用户
在调用其中一个端点后手动更新存储中的用户切片是一种好的做法,还是在调用之后立即调用GET更好?
如果您拥有API或能够确定PUT/POST方法返回的行为,则可以使用本地状态操作。这些端点应该返回与GET端点内部返回的值相同的值。否则,您可能会在本地状态中得到不完整或错误的数据。
通过在本地更改状态而不发出额外的GET请求,用户可以立即在浏览器中看到更改。它还将对您的服务器和用户的数据使用更友好。
然而,如果创建资源(user,在本例中为(是许多用户可以访问的一个非常常见的操作,那么调用GET端点返回切片会更好,因为它将有更多机会包括其他用户创建的新切片。但是,在这种情况下,监听实时事件(,即使用WebSockets(会更好地确保每个人都能实时获得准确的新数据。