搜索
写经验 领红包
 > 影视

put有什么用法(put需要双写t

在生活中,很多人可能想了解和弄清楚常常搞不清楚到底要用 PUT 還是 POST的相关问题?那么关于put有什么用法的答案我来给大家详细解答下。

put有什么用法(put需要双写t+ing吗)

初學REST的這幾年:

POST = 新增GET = 讀取PUT = 更新DELETE = 刪除

後來在設計 API only 的 Web service 時

PUT 比較正確的定義是 Replace (Create or Update),例如PUT /items/1的意思是替換/items/1,如果已經存在就替換,沒有就新增。PUT 必須包含items/1的所有屬性資料。

PATCH Method 標準,可以用來做部分更新(Partial Update)。

回到前面講 PUT 好像不太好用,例如以瀏覽器為主的 HTML 應用表單,要麻是 POST 新增資料,要麻就是用 PATCH 部分更新已經存在的資料(你不會希望用 PUT 修改個人資料的時候,每次都要重傳照片吧),因此比較少用到 PUT。這也是為什麼 Rails 4 把表單修改的 PUT 改成 PATCH Method,

PUT /subscriptions/{something_id}

訂閱東西只有兩個狀態,”已訂閱”或”沒有訂閱”,這個訂閱的操作再重送幾次,還是”已訂閱”,所以我認為蠻符合 PUT 的 idempotent 特性。而對應的取消訂閱 API 想當然就是

新增資料的 REST API 其實可以提供兩種:

POST /items  和PUT /items/4937973d-e349-460a-a6ad-38625125b24a

但是用 PUT 就沒有問題了,PUT 是 Idempotent 的操作,可以重送沒有關係 (可以再搭配 Conditional PUT 的機制,用 ETag 和 Last-Modified Headers 確保沒有覆蓋衝突)

温馨提示:通过以上关于常常搞不清楚到底要用 PUT 還是 POST内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。