patch和put方法的區別

2022-05-18 18:30:25 字數 700 閱讀 8244

patch方法用來更新區域性資源

假設有乙個userinfo,裡面有userid, username, usergender等10個字段。可編輯功能因為需求,在某個特別的頁面裡只能修改username。通常把乙個包含了修改後username的完整userinfo物件傳給後端,做完整更新,這種做法會浪費寬頻。於是patch誕生,只傳乙個username到指定資源去,表示該請求是乙個區域性更新,後端僅更新接收到的字段。

put雖然也是更新資源,但要求前端提供的一定是乙個完整的資源物件,理論上說如果用了put,但卻沒有提供完整的userinfo,那麼缺了的那些字段應該被清空。

如果後端程式沒有按照標準對兩個方法做不同的處理,在程式裡把方法名從put改成patchm沒有任何影響。

patch 與 put 屬性上的乙個重要區別還在於:put 是冪等的,而 patch 不是冪等(表示乙個操作執行任意次對系統的影響跟一次是相同的)的。

post 方法不是冪等的,若反覆執行多次對應的每一次都會建立乙個新資源。如果請求超時,則需要回答這一問題:資源是否已經在服務端建立了?能否再重試一次或檢查資源列表?而對於冪等方法不存在這乙個問題,我們可以放心地多次請求。

原文:

post和put的區別

冪等性概念 冪等通俗來說是指不管進行多少次重複操作,都是實現相同的結果。get,put,delete都是冪等操作,而post不是,以下進行分析 首先get請求很好理解,對資源做查詢多次,此實現的結果都是一樣的。put請求的冪等性可以這樣理解,將a修改為b,它第一次請求值變為了b,再進行多次此操作,最...

GET,POST和PUT的區別

一 http中定義了以下幾種請求方法 1 get 2 post 3 put 4 delete 5 head 6 trace 7 options 二 各個方法介紹 1 get方法 對這個資源的查操作。2 delete方法 對這個資源的刪操作。但要注意 客戶端無法保證刪除操作一定會被執行,因為http規...

POST,PUT和PATCH的區別

1.get方法用於獲取資源,不應有 所以是冪等的。比如 get 不會改變資源的狀態,不論呼叫一次還是n次都沒有 請注意,這裡強調的是一次和n次具有相同的 而不是每次get的結果相同。get 這個http請求可能會每次得到不同的結果,但它本身並沒有產生任何 因而是滿足冪等性的。2.delete方法用於...