对于我的用例,我应该使用PATCH进行部分更新。但我只是想知道springMVC与RequestMEthod.PUT和RequestMethod.PATCH的不同之处是什么?
FYI @RequestBody对象以PUT或PATCH的相同方式填充。
答案 0 :(得分:0)
PUT和PATCH是HTTP
方法。
Spring RequestMethod
只包装它们。所以问题应该是何时使用HTTP PUT
和HTTP PATCH
。
根据this:
HTTP RFC指定PUT必须采用全新资源 表示为请求实体。
虽然
PATCH就像PUT一样,它更新资源,但与PUT不同,它 应用delta而不是替换整个资源。
对于简单的资源表示,差异通常并不重要。
因为它只是语义(一旦你收到请求,你可以在控制器中做任何你想做的事情),我想你的rest-api不包括列表或特定字段的一部分的复杂更新在嵌套对象中 - 我相信PUT
将是更好的选择。