2014-01-29 49 views
0

我在工作中遇到了一个REST API(由另一个团队开发),并注意到一些DELETE API需要Json对象(要删除的ID列表)。这是一个标准的REST DELETE吗? DELETE我习惯于不需要输入Json。在此先感谢您的回复。REST DELETE不应该要求输入Json?

回答

1

按照HTTP Semantics document

A payload within a DELETE request message has no defined semantics; 
    sending a payload body on a DELETE request might cause some existing 
    implementations to reject the request. 

因此,在一个RESTful DELETE存在或有效载荷的使用是实现特定的。

然而,基于REST的删除使用DELETE动词通常使用的资源ID的URL:

DELETE /resource/{id} 

在你的描述,这听起来像IDS要删除的有效载荷传递的名单。在这种情况下,我认为使用POST会更合适:

POST /resource?action=deletelist 
+0

感谢您的回复。我也觉得在DELETE上要求有效载荷似乎打破了REST DELETE的惯例。更重要的是,需要有效载荷的DELETE需要自定义测试代码。 –