软删除操作会标记一条记录(deleted_at,status: deleted),而不是真正删除该行。数据会保留用于审计、撤销和引用完整性,而 API 则将其视为已删除。这样,对于已删除的资源,API 会返回 410 Gone 错误,这比 404 Not Found 更有意义:它表明标识符有效,并且该资源已被故意移除。
每次读取操作都必须排除已标记的行,包括列表端点、搜索和计数操作。对已软删除的 ID 执行 GET 操作会返回 410,第二次 DELETE 操作会返回 410 或 404 而不是 204,最终清除作业会彻底删除数据,通常是在隐私法规定的保留期之后。
软删除的数据虽然消失了,但仍然存在于数据库、备份以及搜索索引中;对于个人数据而言,仅靠软删除无法满足彻底删除的请求。此外,如果列表端点忘记了筛选条件,则会为每个客户端重新显示已删除的记录。
以管理员身份删除/protocol/v1/documents/{id} ,然后获取相同的 id:响应是 410,而不是 404。商店 API 的过期优惠券以及世界杯和国际篮联取消的门票的响应也是 410。
所有术语 · 测试技巧 · 全部 39 个模拟 REST API
最后更新时间