2014-01-29 46 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需要自定義測試代碼。 –