Ost*_*huk 7 rest http http-status-codes http-status-code-403
我们拥有所有用户都可以免费使用的 REST API 端点,以及用户在明确启用并支付某些特定功能后可以使用的其他端点。
如果用户尚未启用,从付费端点返回的正确状态代码应该是什么?
我看到两个选项:
402 被描述为非标准客户端错误状态响应代码,保留供将来使用,因此我认为这不是适合这种情况的正确状态代码。
还有其他状态代码更适合这种情况吗?
我会选择 403 Forbidden。这基本上就是归结起来的。您尝试访问您无权访问的端点。
用户可以自己启用它这一事实并没有太大改变。只要他们不这样做,它就仍然是被禁止的。
引用规格:
403(禁止)状态代码表示服务器理解该请求但拒绝授权。希望公开请求被禁止原因的服务器可以在响应负载(如果有)中描述该原因。
因此,最好添加一个响应正文,解释错误发生的原因以及用户如何授予自己访问权限。
只要 402 Payment required 是“保留供将来使用”,我就会避免它。REST API 通常通过使用库发出 HTTP 请求的脚本来访问。如果脚本无法识别 402,则可能会导致意外行为。大多数人可能会做得很好,但与其后悔,不如保存。
其他 4xx 状态代码(这绝对属于)不适用于此场景。
| 归档时间: |
|
| 查看次数: |
6165 次 |
| 最近记录: |