wim*_*wim 5 api http http-status-codes http-status-code-400 http-status-code-200
我正在编写一个用于验证促销代码的微服务。客户向我发送促销代码和产品 ID (json)。有 200 OK 的情况,代码很好,我为他们的订单申请了折扣。但是有一个错误的情况,促销代码不适用于该产品。我不确定要使用什么响应代码。
这也应该是 200 OK (有某种消息说代码验证失败)?
应该是 400 Bad Request 吗?
两者似乎都不完全合适,当它不是“OK”时说 200 OK 很奇怪,但是 4xx 通常表示请求/http 协议的结构存在问题 - 在这种情况下,请求的结构很好。
小智 5
我会第二次史蒂夫。422 似乎是个不错的选择。
恕我直言,如果请求失败,你不应该使用 200。
使用错误代码并在必要时在响应正文中提供详细信息:
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{ "reason": 1, "text": "Invalid promo code." }
Run Code Online (Sandbox Code Playgroud)
再想一想,我认为 403 很适合这里:
HTTP/1.1 403 Forbidden
Content-Type: application/json
{ "reason": "bad_promo_code" }
Run Code Online (Sandbox Code Playgroud)
归根结底,只要有记录,这并不重要。
| 归档时间: |
|
| 查看次数: |
1006 次 |
| 最近记录: |