【问题标题】:Understanding HTTP DELETE method in a REST API了解 REST API 中的 HTTP DELETE 方法
【发布时间】:2017-09-13 07:51:36
【问题描述】:

我想知道 REST API 结构:使用 HTTP DELETE 方法而不有效地删除网络服务器目录中的资源但在数据库中是否正确?

【问题讨论】:

  • 那你为什么要使用DELETE
  • REST 处理资源。如果您进行DELETE 操作,则应该至少少一个资源来通过 REST 接口。该资源在何处或如何持久化与 REST 无关
  • define deleting a resource on the webserver 但是您可能希望使用soft deletes 这样记录仍然存在,它只是使用列deleted 标记为已删除
  • RESTful Soft Delete的可能重复

标签: rest http http-delete http-method


【解决方案1】:

RFC 7231 定义了 HTTP DELETE 方法的语义。

表示对 URI 映射的删除操作(它并不期望相关的内容实际上会从服务器中删除)。实际内容是否会被删除或是否可以恢复,取决于服务器实现。

请参阅下面的报价(重点是我的):

4.3.5. DELETE

DELETE 方法请求源服务器删除 目标资源与其当前资源之间的关联 功能。实际上,此方法类似于rm 命令 在 UNIX 中:表示对 URI 映射的删除操作 源服务器,而不是期望以前 相关信息被删除。

如果目标资源有一个或多个当前表示,它们 可能会或可能不会被源服务器销毁,并且 相关存储可能会或可能不会被回收,具体取决于 完全取决于资源的性质及其实施 源服务器(超出本规范的范围)。 同样,资源的其他实现方面可能需要 由于DELETE(例如数据库或 网关连接。一般来说,假设原产地 服务器将只允许 DELETE 对其拥有的资源 完成删除的规定机制。 [...]

【讨论】:

    猜你喜欢
    • 2012-07-28
    • 2012-12-28
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2016-04-28
    • 1970-01-01
    相关资源
    最近更新 更多