如果一个资源及其相关资源的所有字段的REST API PUT请求通过?(Should all the

2019-10-23 01:33发布

比方说,我有一票和评论的资源。 门票可以有很多意见。 在您的更新端点HTTP PUT /api/tickets/<ticket_id>/ ,我应该需要客户端更新时,票通票的所有字段+所有的评论?

我问过一些开发商和一些人说我应该只是通过将自更轻,在性能方面,更容易更快地使用被修改的字段。 有的说我应该通过一票的所有字段+的所有评论,因为PUT请求应该是幂等。 但我担心的是,当有太多的意见,有效载荷将是非常大的。

Answer 1:

是的,因为PUT请求应更换实体来更新它的全部。 如果你想要做一个实体的部分更新,请使用补丁请求。

也看到了RFC以供参考

对于HTTP PATCH方法

延伸的超文本传输​​协议(HTTP)几个应用要求的特征做局部资源修改。

现有的HTTP PUT方法只允许一个完整的替换文件。 该提案增加了一个新的HTTP方法,补丁,修改现有的HTTP资源。

因此,在您的情况,它可能是一个很多更有效地使用补丁请求做了部分更新。



文章来源: Should all the fields of a resource and its related resources be passed in a REST API PUT request?
标签: rest put