Spring MVC PUT与PATCH

时间:2016-01-21 17:20:42

标签: spring rest patch put

对于我的用例,我应该使用PATCH进行部分更新。但我只是想知道springMVC与RequestMEthod.PUT和RequestMethod.PATCH的不同之处是什么?

FYI @RequestBody对象以PUT或PATCH的相同方式填充。

1 个答案:

答案 0 :(得分:0)

PUT和PATCH是HTTP方法。

Spring RequestMethod只包装它们。所以问题应该是何时使用HTTP PUTHTTP PATCH

根据this

  

HTTP RFC指定PUT必须采用全新资源   表示为请求实体。

虽然

  

PATCH就像PUT一样,它更新资源,但与PUT不同,它   应用delta而不是替换整个资源。

     

对于简单的资源表示,差异通常并不重要。

因为它只是语义(一旦你收到请求,你可以在控制器中做任何你想做的事情),我想你的rest-api不包括列表或特定字段的一部分的复杂更新在嵌套对象中 - 我相信PUT将是更好的选择。