从检索和列表中删除资源的真正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
- 添加
DELETE
并将is\u DELETE
字段更改为true
,并更改searchSQL
以忽略所有已“删除”的内容
如果用户可以取消删除,那么他们一开始并不是真的删除,补丁可能更适合将
is\u delete
从false
更改为true
,反之亦然。他们将PATCH
将资源添加到一个不同的状态,该状态本质上是“不可见”状态,而不是删除它。如果您希望实现“永久删除”,那么您可以通过delete
请求自由地实现真正的“删除”。如果您允许用户删除其内容,但不允许他们取消删除,那么,就他们而言,内容将被删除。使用“deleted”属性存储它只是实现删除的方式,API用户不必担心
这表明第一种选择是合适的。使用DELETE
并将is\u DELETE
字段更改为true
,并更改searchSQL
以忽略所有已“删除”的内容
如果用户可以取消删除,那么他们一开始并不是真的删除,补丁可能更适合将
is\u delete
从false
更改为true
,反之亦然。他们将PATCH
将资源添加到一个不同的状态,该状态本质上是“不可见”状态,而不是删除它。如果您希望实现“永久删除”,那么您可以通过delete
请求自由实现真正的“删除”。如果用户可以“删除”内容,他们也可以“取消删除”吗?或者只能通过其他方法来实现?不,他们不能!我刚才说stackoverflow就是一个例子。我们只是为自己保留他们的资源@如果用户可以“删除”内容,他们也可以“取消删除”吗?或者只能通过其他方法来实现?不,他们不能!我刚才说stackoverflow就是一个例子。我们只是为自己保留他们的资源@codebranemo比您的回答更棒,谢谢您最后一句关于考虑将来实现真正删除的策略的话。我想无论如何,我应该补丁
,即使目前没有取消删除
,我想我们将来会添加它。谢谢除了您精彩的回答之外,感谢您最后一句关于考虑在将来实现真正删除的策略。我想无论如何,我应该补丁
,即使目前没有取消删除
,我想我们将来会添加它。谢谢