从检索和列表中删除资源的真正rest方法是什么?

从检索和列表中删除资源的真正rest方法是什么?,rest,httprequest,Rest,Httprequest,在我们的服务条款中我们说过,用户共享的内容永远不会真正删除。我们只想从搜索、检索和列表中删除。但资源应该保留在我们的数据库中(就像StatckOverflow在删除问题时所做的那样)(它也可以取消删除) 哪种场景更适合使用RESTful进行此操作: 场景1: 添加是\u delete,默认数据库模型为False 发送DELETE请求和更改型号被删除字段,而不是实际删除。(200或204状态代码) 场景2: 添加是\u delete,默认数据库模型为False 发送补丁请求和更改型号将被删

在我们的
服务条款中
我们说过,用户共享的内容永远不会真正删除。我们只想从搜索、检索和列表中删除。但资源应该保留在我们的数据库中(就像StatckOverflow在删除问题时所做的那样)(它也可以取消删除)

哪种场景更适合使用RESTful进行此操作:

  • 场景1

    • 添加
      是\u delete
      ,默认数据库模型为
      False
    • 发送
      DELETE
      请求和更改型号
      被删除
      字段,而不是实际删除。(
      200
      204
      状态代码)
  • 场景2

    • 添加
      是\u delete
      ,默认数据库模型为
      False
    • 发送
      补丁
      请求和更改型号
      将被删除
      字段。(
      200
      204
      再次)

如果您允许用户删除其内容,但不允许他们取消删除,那么就他们而言,内容将被删除。使用“deleted”属性存储它只是实现删除的方式,API用户不必担心

这表明第一种选择是合适的。使用
DELETE
并将
is\u DELETE
字段更改为
true
,并更改search
SQL
以忽略所有已“删除”的内容


如果用户可以取消删除,那么他们一开始并不是真的删除,补丁可能更适合将
is\u delete
false
更改为
true
,反之亦然。他们将
PATCH
将资源添加到一个不同的状态,该状态本质上是“不可见”状态,而不是删除它。如果您希望实现“永久删除”,那么您可以通过
delete
请求自由地实现真正的“删除”。

如果您允许用户删除其内容,但不允许他们取消删除,那么,就他们而言,内容将被删除。使用“deleted”属性存储它只是实现删除的方式,API用户不必担心

这表明第一种选择是合适的。使用
DELETE
并将
is\u DELETE
字段更改为
true
,并更改search
SQL
以忽略所有已“删除”的内容


如果用户可以取消删除,那么他们一开始并不是真的删除,补丁可能更适合将
is\u delete
false
更改为
true
,反之亦然。他们将
PATCH
将资源添加到一个不同的状态,该状态本质上是“不可见”状态,而不是删除它。如果您希望实现“永久删除”,那么您可以通过
delete
请求自由实现真正的“删除”。如果用户可以“删除”内容,他们也可以“取消删除”吗?或者只能通过其他方法来实现?不,他们不能!我刚才说stackoverflow就是一个例子。我们只是为自己保留他们的资源@如果用户可以“删除”内容,他们也可以“取消删除”吗?或者只能通过其他方法来实现?不,他们不能!我刚才说stackoverflow就是一个例子。我们只是为自己保留他们的资源@codebranemo比您的回答更棒,谢谢您最后一句关于考虑将来实现真正删除的策略的话。我想无论如何,我应该
补丁
,即使目前没有
取消删除
,我想我们将来会添加它。谢谢除了您精彩的回答之外,感谢您最后一句关于考虑在将来实现真正删除的策略。我想无论如何,我应该
补丁
,即使目前没有
取消删除
,我想我们将来会添加它。谢谢