删除集合是RESTful吗?

删除集合是RESTful吗?,rest,Rest,REST服务器允许删除整个实体集合“通常是不可取的” DELETE http://www.example.com/customers 这是实现宁静涅盘的真正规则吗 那么由查询参数定义的子集合呢 DELETE http://www.example.com/customers?gender=m (他们实际上说的是“通常不可取”,这可能与“通常不可取”的解释略有不同。) 是的,很安静。如果您有一个有效的用例,那么可以这样做。您的第二个场景(使用查询删除)通常很有用,并且是减少客户端必须发出的HT

REST服务器允许删除整个实体集合“通常是不可取的”

DELETE http://www.example.com/customers 
这是实现宁静涅盘的真正规则吗

那么由查询参数定义的子集合呢

DELETE http://www.example.com/customers?gender=m
(他们实际上说的是“通常不可取”,这可能与“通常不可取”的解释略有不同。)

是的,很安静。如果您有一个有效的用例,那么可以这样做。您的第二个场景(使用查询删除)通常很有用,并且是减少客户端必须发出的HTTP请求数量的一种简单方法


<>编辑:正如peeskillet所说,要考虑如果你真的想删除某个东西,而不是改变记录上的某个标志(例如“活动”)。 如果你把整个收藏想象成具有持久重要性的东西,比如客户名单,那么删除整个收藏“通常是不可取的”。它不会与一些基本的休息智慧相冲突

如果集合包含用户应该能够删除的信息,并且可能包含大量此类信息,则删除整个集合可能是最好的方法,而不是运行大量的单独删除


基于条件(例如查询参数)的删除对于某些应用程序来说非常重要,因此,如果REST警察宣布它正式无效,我将毫不羞耻地继续这样做。

它是restful吗?对这样做对吗?这并不取决于它是否毫无保留。只是你真的想删除数据吗?这是有价值的数据。在很多情况下,不是删除,而是更改一些“活动”状态。HTTP delete并不禁止我的服务器在持久数据库上使用逻辑删除。那是一个无关紧要的话题。。。