gpt4 book ai didi

rest - 出现并发错误时抛出什么状态码?

转载 作者:行者123 更新时间:2023-12-03 19:31:26 25 4
gpt4 key购买 nike

我有一个休息时间,其中包括一个日期,然后进行预订。当 2 个人“同时”尝试在同一天同一时间预订时,就会出现问题。

很明显,第一个提出请求的人将能够预约,所以我会返回一个状态 200。另一方面,稍后到达的人也会提出同样的请求,但服务器会抛出一个错误,因为它不能保留相同的约会(已保留)。这种情况下,应该抛出什么http状态码?

家庭代码 500 似乎不正确,因为抛出的异常是由业务逻辑引起的。

另一方面,400 家庭的州代码似乎也不正确,因为请求制定得很好

谢谢!

最佳答案

我自己正在研究这个,jonrsharpe 的 409 Conflict 建议是最合适的。
https://www.rfc-editor.org/rfc/rfc7231#section-6.5.8 :
409(冲突)状态码表示请求无法
由于与目标的当前状态冲突而完成
资源。此代码用于用户可能
能够解决冲突并重新提交请求。服务器
应该为用户生成一个包含足够信息的负载
认识到冲突的根源。
响应 PUT 请求时最有可能发生冲突。为了
例如,如果正在使用版本控制并且表示是
PUT 包括对资源的更改,这些更改与
较早的(第三方)请求,源服务器可能使用 409
响应以指示它无法完成请求。在这
在这种情况下,响应表示可能包含信息
用于根据修订历史合并差异。

关于rest - 出现并发错误时抛出什么状态码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54092071/

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