我可以使用 DELETE 更新指示该元素已删除的标志吗?

Nag*_*hab 3 rest http

我正在构建一个 API,我想遵循最佳实践,所以我使用 PUT 来插入,POST 来更新,GET 来获取,当客户端请求删除一个项目但该项目在我们的数据库中时,我想使用 DELETE实际上不会删除任何内容,我们只是更新一个指示该项目已删除的标志,那么这仍然属于 DELETE 还是应该将该请求改为 POST?

tra*_*max 5

你所说的就是所谓的“软删除”——当一条记录被标记为删除时,它无法通过 GET 获得,但数据仍保留在数据库中。对于仍然是删除操作的所有客户端目的,实施是您自己的,不应该涉及您的客户。

所以,是的,使用 HTTP 动词 DELETE 来执行软删除是完全可以的。