PUT請求與PATCH請求的區別


patch方法用來更新局部資源,這句話我們該如何理解?

假設我們有一個UserInfo,里面有userId, userName, userGender等10個字段。可你的編輯功能因為需求,在某個特別的頁面里只能修改userName,這時候的更新怎么做?

人們通常(為徒省事)把一個包含了修改后userName的完整userInfo對象傳給后端,做完整更新。但仔細想想,這種做法感覺有點二,而且真心浪費帶寬(純技術上講,你不關心帶寬那是你土豪)。

於是patch誕生,只傳一個userName到指定資源去,表示該請求是一個局部更新,后端僅更新接收到的字段。

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

補充:

最后再補充一句,Rest-ful只是標准,標准的意思是如果在大家都依此行事的話,溝通成本會很低,開發效率就高。但並非強制(也沒人強制得了),所以你說在你的程序里把方法名從put改成patch沒有任何影響,那是自然,因為你的后端程序並沒有按照標准對兩個方法做不同處理,他的表現自然是一樣的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM