内部依赖性失败的HTTP状态代码

问题描述 投票:0回答:1

我将用一个简单的例子描述我的问题,我有2个表(XY):

      Table X             Table Y
------------------       ----------
| id  |   Y_id   |       |   id   | 
------------------       ----------

我的API路由将从table Y中删除一行但如果表X正在使用该行,那么例如这种情况:

      Table X             Table Y
------------------       ----------
| id  |   Y_id   |       |   id   | 
------------------       ----------
|  1  |     1    |       |    1   |
------------------       ----------

如果我请求从1删除id为table Y的行,我将拒绝此请求,因为该条目正在table X中使用,在这种情况下应该是什么响应HTTP状态代码?

http http-status-codes
1个回答
1
投票

https://greenbytes.de/tech/webdav/rfc7231.html#status.409

6.5.8。 409冲突

409(冲突)状态代码表示由于与目标资源的当前状态冲突而无法完成请求。此代码用于用户可能能够解决冲突并重新提交请求的情况。服务器应该生成一个有效载荷,其中包含足够的信息供用户识别冲突源。

冲突最有可能发生在响应PUT请求时。例如,如果正在使用版本控制并且包含PUT的表示更改为与早期(第三方)请求冲突的资源,则源服务器可能使用409响应来指示它无法完成请求。在这种情况下,响应表示可能包含有助于根据修订历史合并差异的信息。

© www.soinside.com 2019 - 2024. All rights reserved.