gpt4 book ai didi

rest - 更新 REST API 中的单个属性

转载 作者:行者123 更新时间:2023-12-03 11:58:44 27 4
gpt4 key购买 nike

在设计新的 API 时,我们正在尽最大努力遵循 REST 建立的模式。我的问题是尝试更新单个属性时要遵循的最佳方法。例如:
假设您有一个简单的 Car 资源:

{
"make": "Chevrolet",
"model": "Chevelle",
"year": 1966,
"color": "black",
"for_sale": true
}
让我们假设属性 for_sale是您预期用户会定期更新的内容。我有几个选择:
  • PUT整个资源与 for_sale设置为 false .对于相当小的资源,这似乎很好,但是,在大多数情况下,我们的资源非常大,因此在发送整个资源以更新单个经常更改的属性时会浪费很多。
  • POST并通过仅包含要更新的元素来进行部分更新,例如:{"for_sale":false}这更好,因为它需要更少的开销。

  • 但不知何故,我似乎正在寻求更简单的东西,但我似乎没有找到正确的方法。提供一个简单的 PUT 会很方便到一个 URL(不需要任何请求正文)来更新这个属性。我看到谷歌在他们的 API 中做了什么来实现这一点,但感觉有点 RPC 式的,虽然我喜欢简单。 POST /blogs/blogId/posts/postId/comments/commentId/approve(将评论标记为非垃圾邮件) POST /blogs/blogId/posts/postId/comments/commentId/spam (将评论标记为垃圾邮件)
    有人可以就在遵循 REST 原则的资源中更新单个属性的最佳方式(以最好的轻量级方式)提供一些建议吗?

    最佳答案

    实际上,我认为 PATCH 方法是专门为此目的而设计的。您应该使用它来提供对象的部分更新,而不是完整更新。 Here is a blog entry这更详细地解释了这一点。

    关于rest - 更新 REST API 中的单个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21910686/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com