-1
對於我的用例,我應該使用PATCH來進行部分更新。但我只是想知道什麼springMVC與RequestMEthod.PUT與RequestMethod.PATCH不同?Spring MVC PUT與PATCH
FYI @RequestBody對象以PUT或PATCH方式填充的方式相同。
對於我的用例,我應該使用PATCH來進行部分更新。但我只是想知道什麼springMVC與RequestMEthod.PUT與RequestMethod.PATCH不同?Spring MVC PUT與PATCH
FYI @RequestBody對象以PUT或PATCH方式填充的方式相同。
PUT和PATCH是HTTP
方法。
Spring的RequestMethod
只包裝它們。所以問題應該是何時使用HTTP PUT
和HTTP PATCH
。
根據this:
的HTTP RFC規定PUT必須採取一個全新的資源 表示作爲請求實體。
雖然
PATCH就像擺在那它更新的資源,但不像PUT,它 適用的增量,而不是更換整個資源。
對於簡單的資源表示,差異通常並不重要。
所以,因爲它是唯一的語義(你可以做任何你想做的控制器一旦你的要求),我想你的REST的API不包括的,比如複雜的更新,清單的一部分或嵌套對象中的特定字段 - 我相信PUT
將是更好的選擇。
Spring MVC不做任何事情。它所做的「全部」是接收請求並讓你從控制器方法處理它。這取決於你做任何你想做的事情。 –
添加一個鏈接到一個很好的帖子,解釋如何使用補丁,因爲我有這種情況下它會被遺漏的感覺:http://williamdurandrand.fr/2014/02/14/please-do-not-patch樣-AN-白癡/ – Augusto