首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已完成退款的HTTP响应代码

已完成退款的HTTP响应代码
EN

Stack Overflow用户
提问于 2017-11-24 11:09:41
回答 2查看 397关注 0票数 1

我正在编写rest,它将事务id作为输入并处理指定事务的退款。因此,在同一笔交易中,我收到了多个退款请求。但退款只能办理一次。在这种情况下,响应代码应该是什么,如果退款已经完成,而我收到了重复的要求退款相同的交易?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-24 11:28:00

您可以使用403来指示该操作被禁止,或者使用409来指示资源状态下的冲突:

6.5.3.403禁止 403 (禁止)状态代码表示服务器理解请求,但拒绝授权请求。希望公开请求被禁止的原因的服务器可以在响应有效负载(如果有的话)中描述这个原因。 如果在请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。..。然而,由于与证书无关的原因,请求可能被禁止。. 6.5.8.409冲突 409 (冲突)状态代码指示由于与目标资源的当前状态发生冲突而无法完成请求。此代码用于用户可能解决冲突并重新提交请求的情况。服务器应该生成包含足够信息的有效负载,以便用户识别冲突的来源。..。

必须返回对响应paylod中错误的良好描述。您可以使用RFC 7807作为参考。

票数 4
EN

Stack Overflow用户

发布于 2021-05-24 22:51:19

你可以用423锁着。与422非可处理实体不同,该实体可用于指示由于其状态无法处理请求,而423锁定可用于指示由于资源状态而无法处理请求。

403的问题在于它与授权有关,告诉请求的用户没有足够的权限,这意味着它可以通过提升的权限来完成。

409的问题是,它表明冲突可以由用户解决,然后再试一次。

但是423的问题也在于它可能被解锁。至少它通过告诉“由于源状态不能处理请求”而变得更接近了,这是合适的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47472017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档