2017-09-13 57 views
0

我想知道REST API结构:在没有有效地删除Web服务器目录上的资源但使用数据库的情况下使用HTTP DELETE方法是否正确?了解REST API中的HTTP DELETE方法

+0

那你为什么要用'DELETE'? – adiga

+1

REST处理资源。如果您执行了“DELETE”操作,那么以后至少应该有一个资源通过REST接口。这个资源在哪里或如何持久是REST关注的问题 –

+0

定义'在web服务器上删除一个资源'然而,你可能希望使用'软删除'这种方式,记录仍然存在,它只是使用'deleted ' –

回答

2

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

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

请参阅下面的报价(亮点矿):

4.3.5. DELETE

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

如果目标资源有一个或多个电流表示,他们 可能会或可能不会被原始服务器破坏, 相关的存储可能会或可能不会被回收,根据 完全依靠的性质资源及其由 原始服务器执行(超出本规范的范围)。 同样,资源的其他实现方面可能需要作为DELETE(例如数据库或 网关连接)的结果而被停用或归档。一般而言,假定源 服务器将只允许DELETE在其具有 指定机制的资源上完成删除。 [...]