POST,PUT,PATCH的區別


如果你對HTTP的POST,PUT,PATCH方法之間的區別不是很明朗,那么這篇文章應該能幫到你

首先解釋一下“冪等”的概念:在編程中一個 “冪等” 操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同

POST方法:

POST方法是用來創建一個新的數據的
POST方法不是冪等的,意味着他的結果不會是相同的,重復進行POST方法會導致多條相同的數據被創建
雖然多次執行結果不是相同的,但其實這些數據除了自增的id不同以外,其他部分的數據都是相同的

PUT方法:

PUT比較正確的定義是:Replace(Create or Update)
例如 PUT user1.name = "zdc", 若數據已存在就替換,不存在就新增
因此,PUT方法一般會用來更新一個已知數據,除非在創建前,你完全知道自己要創建的對象的URL

HTTP中 POST 和 PUT 區別

在HTTP中,PUT被定義為idempotent(冪等的)方法,POST則不是,這是一個很重要的區別

舉個例子:

POST user1.name = "zdc"
PUT user.name = "wjw"
如果結果產生兩條數據,就說明這個PUT方法不是idempotent(冪等的),因為多次使用產生了副作用
如果結果只產生了一條數據,就說明PUT方法是idempotent(冪等的),是PUT方法把POST產生的數據覆蓋掉了

新增數據應該使用POST,修改現有數據應該使用PUT

PATCH方法

PATCH方法是新引入的,是對PUT方法的補充,用來對已知資源進行“局部更新”

PUT 和 PATCH 的區別

意思就是PUT是修改了整條記錄,不變的字段也重寫一點,不過重寫的值與原來相同而已
而PATCH只是單獨修改一個字段

意思就是,PATCH相比於PUT方法更加的節省計算機與網絡資源,但其實不必刻意區分,使用PUT即可完成所有需求


免責聲明!

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



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