簡體   English   中英

是一個沒有數據的RESTful PUT“潔凈”,還是應該始終使用DELETE?

[英]Is a RESTful PUT with no data “kosher,” or should a DELETE always be used?

我有一個適用於資源的數組字段的RESTful路由,例如:

放置/:id / mylist

進行PUT時,如果輸入為空,則會引發錯誤。 也就是說,如果傳遞了空數組。 我需要數組中至少一個元素。 因此,如果資源具有九個元素的數組,並且路由被調用到PUT 3,則這三個將替換現有的九個元素。

但是您不能傳遞任何元素,因為那樣會擦除九個元素,什么也不留下。

但是,不允許使用任何元素-在我看來,允許在PUT中“清除”數組是錯誤的,因此只能這樣做:

刪除/:id / mylist

我錯了嗎? 都可以嗎 是一個比另一個更好的選擇嗎?

我認為對列表資源執行DELETE操作將推斷該列表不再存在,並且將來對URL的GET請求將返回404。

但是,使用空列表進行PUT將導致將來的GET請求返回200和空列表(無論如何表示)。

我想說這兩種都是有效的方法,僅取決於一種最自然的資源語義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM