更新实体的所有属性时,REST-PUT或PATCH

问题描述 投票:0回答:1

在REST API中,当我想更新实体的所有属性时,从良好实践的角度来看,最好使用什么? PUTPATCH?如果最好使用PATCH,为什么需要PUT?两者之间有什么区别?

如果所有字段都被更新,那么两种操作都是幂等的,对吗?那么,有什么区别?

rest patch put
1个回答
0
投票

PUT是幂等的,PATCH不是。 PUT为idempotent的事实意味着通用组件可以重复单个请求所需的次数足以产生响应。

PATCH,与POST一样,不保证等幂语义;因此,通用组件在可以自行执行的操作方面受到更严格的限制。

如果所有字段都已更新,那么两种操作都是幂等的,对吧?

通用组件将不了解是否更新了所有字段。这是一种高级启发式方法:通用组件了解HTTP标头的语义,但不一定了解消息正文的语义。

© www.soinside.com 2019 - 2024. All rights reserved.