gpt4 book ai didi

REST 我们应该将空更新视为成功吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:07:30 25 4
gpt4 key购买 nike

只是在构建 RESTful 服务时出于好奇而提出的一个问题,如何处理更新时的空差异?

假设我们在创建时有一个如下所示的对象“Person”:

人{编号:123,名字:“Foo”,姓氏:“酒吧”,年龄:“酒吧”

在更新人员的详细信息时,如果客户端传递空参数来更新 ID 为 123 的人员,服务器是否应将其视为

  1. 成功(因为没有什么可更新的)?或
  2. 返回成功(但指示用户没有任何要更新的内容)或
  3. 抛出 BadRequest

什么是最优选的方式?

最佳答案

我会选择 422 .在执行实际更新之前检查请求。如果没有更新参数,则退出并返回422。

422 Unprocessable Entity

The request was well-formed but was unable to be followed due to semantic errors.

资源已找到,url 存在,更新成功(虽然它没有做任何事情)并且请求没有格式错误,因此 404 或 400 都不正确。

您可以使用 200 OK,但我个人会使用 422 because 4xx status codes have an extra indication that the client made a 'mistake' .我认为没有参数的更新请求是错误的。

关于REST 我们应该将空更新视为成功吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29109038/

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