Some say REST服务器的“通常不可取”允许整个实体集合的DELETEion。
DELETE http://www.example.com/customers
这是实现RESTful天堂的真正规则吗?
那么由查询参数定义的子集合呢?
DELETE http://www.example.com/customers?gender=m
答案 0 :(得分:1)
对此的答案更多地取决于应用程序的要求和风险,而不是取决于任一构造的固有RESTful。
它并不常见[&34;如果您将集合想象为具有持久重要性的集合(如客户列表),则删除整个集合。它并没有打破一些重要的REST智慧。
如果集合包含用户应该能够删除的信息,并且可能包含大量此类信息,那么整个集合的DELETE可能是最好的REST-ish方式,而不是运行大量单独的DELETE。
根据标准(例如查询参数)进行删除对于某些应用程序来说非常重要,如果REST警察宣布它正式取消,我会继续这样做而不会感到羞耻。
答案 1 :(得分:0)
(他们实际上说"通常并不可取,"哪一个可能与#34略有不同;通常不可取。")
是的,它是RESTful的。如果您有一个有效的用例,那么这样做很好。您的第二个场景(使用查询删除)通常很有用,并且可以是减少客户端必须进行的HTTP请求数量的简单方法。
编辑:正如@peeskillet所说,请考虑是否确实要删除某些内容,而不是更改记录上的某些标记(例如"有效")。