所以这是我要决定的问题,想知道什么是最佳实践以及选择哪种。
假设我们有一个项目列表,我们使用GET获取所有列表,然后执行POST进行编辑,使用DELETE删除列表。成功完成这两个请求中的任何一个之后,有什么最佳实践可以确保客户端状态与服务器状态保持同步。
答案 0 :(得分:0)
这是非常基于意见的,因为这里有很多变量。理想情况下,我总是会说,删除客户端状态,并总是在更新后重新获取数据。当然,这完全取决于重新获取该状态的成本/复杂性。如果便宜/小,请继续并重新获取列表...比尝试维护状态同步要简单得多。如果要更新本地缓存,请确保它是CACHE模式,而不是REPOSITORY模式。这意味着您不必一定对重要的操作信任缓存,而应该在对实体进行操作之前进行诸如验证实体之类的事情。
我不会从POST / DELETE中返回更新的列表,更新的实体很好,但是整个列表应该是后续的GET。任何其他事情,您不仅在破坏REST,而且还在定义服务中客户端应用程序的行为(您不想这样做)。