在POST和DELETE之后管理服务器端和客户端状态

时间:2018-10-24 02:42:24

标签: reactjs rest architecture http-post client-server

所以这是我要决定的问题,想知道什么是最佳实践以及选择哪种。

假设我们有一个项目列表,我们使用GET获取所有列表,然后执行POST进行编辑,使用DELETE删除列表。成功完成这两个请求中的任何一个之后,有什么最佳实践可以确保客户端状态与服务器状态保持同步。

  1. 获取所有列表
  2. 让服务器在编辑或删除操作后返回所有列表。
  3. 或客户端应信任200 OK,并通过修改列表来更新客户端状态

1 个答案:

答案 0 :(得分:0)

这是非常基于意见的,因为这里有很多变量。理想情况下,我总是会说,删除客户端状态,并总是在更新后重新获取数据。当然,这完全取决于重新获取该状态的成本/复杂性。如果便宜/小,请继续并重新获取列表...比尝试维护状态同步要简单得多。如果要更新本地缓存,请确保它是CACHE模式,而不是REPOSITORY模式。这意味着您不必一定对重要的操作信任缓存,而应该在对实体进行操作之前进行诸如验证实体之类的事情。

我不会从POST / DELETE中返回更新的列表,更新的实体很好,但是整个列表应该是后续的GET。任何其他事情,您不仅在破坏REST,而且还在定义服务中客户端应用程序的行为(您不想这样做)。