【发布时间】:2019-05-26 09:25:08
【问题描述】:
我正在构建一个具有以下端点的 REST API:
GET /api/v1/categories - Get all categories
DELETE /api/v1/categories/$id - Delete a specific category
移动应用程序应在第一次获取所有类别,但稍后将仅获取最后修改的类别(使用 Last-Modified HTTP 标头)。
当第二个应用删除一个类别时,服务器会将其从数据库中删除。删除后,如果其他应用请求最后修改的类别,则服务器不会返回有关已删除类别的任何信息,并且这些应用不会将其从本地数据库中删除。
这个问题的最佳解决方案是什么?
我正在考虑使用软删除(指示类别已删除的标志),当应用程序获取最后修改的类别时,服务器会返回自 HTTP 标头中传递的日期以来所有修改的类别,包括已删除的类别。但是,如果应用程序请求所有类别(没有 Last-Modified 标头),则服务器会返回所有类别,但已删除(标有标志)除外。
所提出的解决方案是解决这个问题的最佳解决方案吗?
【问题讨论】:
标签: rest api http mobile architecture