2011-02-10 127 views
6

这样的事情可能吗?设计REST的人是否认为他们会永远删除一个东西?REST - 删除一组对象

所以我们可以说我有10个Foo的ID 1-10

我想删除ID的3,6,和9单一HTTP DELETE召唤。

有没有我可以做到这一点,而不会冒犯教皇?

回答

0

我不认为这是一个问题。

删除http://www.example.com/foos表示删除全部。

DELETE http://www.example.com/foos {3,6,9}表示删除foo的3,6,9

+1

那些括号{#,#,#}是标准的一部分吗?我以前从来没有见过。 – 2011-02-10 06:52:33

+0

这只是普通的URI部分。任何资源和资源集合都可以用URI来表示,你可以给URI指定语义。 – Dagang 2011-02-10 07:00:21

+2

@Todd URI中的额外数据看起来很乱,你不喜欢发送数据以便在请求的主体中实际删除什么?这是我强烈要考虑的系统,其中默认使用情况是多次删除。我还打算在没有身体“无效”行为的情况下调用“DELETE/foos”。 – thecoshman 2013-07-24 14:36:27

5

大多数API我熟悉不允许多个实体的删除在同一时间,而是在执行其他操作URL参数如?id=3,6,9? id=3&id=6&id=9的多个实体。因此,这将是相当普遍的执行下列操作之一:

DELETE /foos?id=3,6,9 

DELETE /foos?id=3&id=6&id=9