Some say它的“往往不可取”为REST服务器允许实体的整个集合的DELETEion。这是RESTful做DELETE集合吗?
DELETE http://www.example.com/customers
这是实现RESTful必杀技的真正规则吗?
又是怎么回事子集,通过查询参数定义的?
DELETE http://www.example.com/customers?gender=m
Some say它的“往往不可取”为REST服务器允许实体的整个集合的DELETEion。这是RESTful做DELETE集合吗?
DELETE http://www.example.com/customers
这是实现RESTful必杀技的真正规则吗?
又是怎么回事子集,通过查询参数定义的?
DELETE http://www.example.com/customers?gender=m
(他们实际上说“不经常需要”,其中一个可能解释略有不同“往往不可取的。”)
是的,它是基于REST的。如果你有一个有效的用例,那么可以这样做。你的第二个场景(用查询删除)通常很有用,并且可以是一种简单的方法来减少客户端的HTTP请求数量。
编辑:作为@peeskillet说,你考虑一下,如果你真的想删除的东西,对改变一些标志上的记录(例如“活动”)。
好吧,HTTP删除并不禁止我的服务器在持久数据库上使用逻辑删除。这是一个切题无关的话题... – bruno
这个问题的答案取决于更多的要求和您的应用程序比在任构建固有RESTfulness风险。
这“不是经常需要”删除整个集合,如果你想象的集合作为一些与持久如客户名单重要性。它没有违背一些重要的REST智慧。
如果集合包含用户应该能够删除的信息以及潜在的大量信息,那么删除整个集合可以是最好的REST方法,而不是运行大量单独的DELETE 。基于标准
删除(例如查询参数)是必不可少的一些应用程序,如果REST警方宣布它正式UnRESTful我会继续做它没有羞耻。
它宁静吗?是。这是正确的做法?它取决于 – Androiderson
没有什么不安。这只是你真的想删除数据吗?这是有价值的数据。在很多情况下,而不是删除,只是改变一些“活动”状态 –