1
1208
我的感觉是
|
3
96
就我个人而言,我支持WebDAV扩展
|
4
74
都是关于 上下文 ,以及谁负责处理请求中的重复项(服务器或客户端或两者) 指向副本 ,看4xx: 为了 隐性的 处理重复项,请看2XX:
如果服务器是 期待回报 ,看3XX:
|
5
29
可能游戏玩得太晚了,但我在尝试制作restapi时偶然发现了这个语义问题。
我想你可以用这两种方法中的任何一种来扩展一下Wrikken的答案
至于
|
6
12
作为反对其他答案的论据,使用-
看来
作为记录,422也是GitHub在尝试使用已在使用的名称创建存储库时使用的状态代码。 |
7
11
我认为你不应该这样做。 如您所知,POST用于修改集合,并用于创建新项。因此,如果您发送id(我认为这不是一个好主意),您应该修改集合,即修改项目,但这会让人困惑。 使用它添加一个项目,没有id。这是最好的做法。
|
8
9
“302找到”对我来说听起来很合理。以及 RFC 2616 表示除了GET和HEAD之外,它还可以被其他请求响应(这当然包括POST)
我认为 更新: 在重读了RFC之后,我仍然认为 “4XX+303已找到”代码应正确。然而 “409冲突”是现有的最佳答案代码 (正如@Wrikken所指出的),可能包括指向现有资源的位置头。 |
9
7
我认为剩下的,你只需要对特定系统的行为做出决定,在这种情况下,我认为“正确”的答案应该是这里给出的几个答案之一。如果您想让请求停止并表现为客户端犯了一个需要在继续之前修复的错误,那么使用409。如果冲突真的不是那么重要,并且希望继续请求,那么通过将客户端重定向到找到的实体来进行响应。我认为适当的restapi应该在POST之后重定向(或者至少提供location头)到该资源的GET端点,所以这种行为将提供一致的体验。 编辑: 还有一点值得注意的是,既然你提供了ID,你应该考虑一个PUT。然后行为很简单:“我不在乎现在有什么,把这个东西放在那里。”意思是,如果没有东西,它会被创建;如果有东西,它会被替换。我认为当服务器管理该ID时,POST更合适。将这两个概念分开基本上告诉您如何处理它(即PUT是幂等的,所以只要有效负载验证,POST就应该始终工作,所以如果ID发生冲突,那么409将描述该冲突)。 |
10
5
在你的情况下,你可以使用
1信息
2成功
3重定向
4客户端错误
|
11
4
另一种可能的治疗方法是使用贴片。补丁被定义为改变内部状态的东西,不限于附加。 修补程序将通过允许您更新现有项目来解决此问题。请参见: RFC 5789: PATCH |
12
2
在检查重复记录的正确代码时偶然发现此问题。 请原谅我的无知,但我不明白为什么每个人都忽略了代码“300”,它清楚地表示“多项选择”或“模棱两可”
|
13
2
|
14
1
208怎么样- http://httpstatusdogs.com/208-already-reported ? 这是一种选择吗? 在我看来,如果唯一的事情是一个重复资源没有错误应该提出。毕竟,客户端和服务器端都没有错误。 |
15
1
202接受 ? 这是一个正常的请求(200秒),没有客户端错误(400秒)。
... 因为它不需要完成,因为它已经存在了。客户不知道它已经存在,他们没有做错什么。
我倾向于抛出一个202,并返回类似的内容得到什么
|
16
0
这是用户端故障,属于4xx组。这是正确的答案 https://developers.rebrandly.com/docs/403-already-exists-errors |
17
0
我知道已经很久了,但我会在这里留下一个我认为合适的答案。
我想最好的办法是
|
Dev · 在laravel rest api中按特定角色获取所有用户 2 年前 |
IDskxo · 为什么我们需要添加。响应的end()? 2 年前 |
KollegeBo · 触发更新的POST或GET 2 年前 |
meren · 如何使用react向后端api请求用户提供的值? 2 年前 |
CaptTaifun · 如何对“多个”和“单个”对象使用相同的端点? 2 年前 |
Zsombor Szende · 汇率api从哪里获取数据?[闭门] 2 年前 |