由于依赖问题而无法满足的请求的 RESTful 状态代码

问题描述 投票:0回答:3
当用户没有配置任何

payment

 时,接受 
POST
payment methods
端点应该拒绝请求。在这种情况下,正确的 HTTP 状态代码是什么?

当系统本身无法达到请求所要求的状态并且必须先完成另一个请求(创建支付方式)时,正确的 HTTP 状态代码是什么?

我查看了

428 Precondition Required
,但这似乎与标头有关,而不是与系统状态有关。

rest http-status-codes
3个回答
2
投票

我会简单地选择

400 Bad Request
。如果您需要在响应中提供更具体的说明或提示,您可以返回一个正文,它将指示错误的确切性质。

您不需要为所有内部业务相关的错误案例分配特定的 HTTP 错误代码。事实上,这可能无论如何都是不可能的。

400 规范:https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1

相关引述:

表示服务器由于被认为是客户端错误而无法或不会处理请求

关于

4xx
代码的一般情况:

服务器应该发送包含错误情况解释的表示,以及它是临时还是永久的情况


0
投票

您是否查看了错误 424 Failed_Dependency?我想这可能就是你想要的。

http://www.restpatterns.org/HTTP_Status_Codes/424_-_Failed_Dependency


0
投票

您可以考虑使用

422 Unprocessable Content

同时它看起来几乎和

400 Bad Request
一样。

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