【发布时间】:2013-01-13 20:41:15
【问题描述】:
我的用户帐户可以是免费帐户或付费帐户。免费帐户仅限于创建 5 个资源。用户使用 JSON API 创建这些。如果用户达到了 5 个资源的帐户限制,然后尝试创建另一个资源,我应该如何应对?什么是合适的HTTP状态码,json的内容应该是什么?
另外,这个有点不相关,当用户删除单个资源时,JSON响应内容应该是什么?
【问题讨论】:
标签: ruby-on-rails json api http-headers
我的用户帐户可以是免费帐户或付费帐户。免费帐户仅限于创建 5 个资源。用户使用 JSON API 创建这些。如果用户达到了 5 个资源的帐户限制,然后尝试创建另一个资源,我应该如何应对?什么是合适的HTTP状态码,json的内容应该是什么?
另外,这个有点不相关,当用户删除单个资源时,JSON响应内容应该是什么?
【问题讨论】:
标签: ruby-on-rails json api http-headers
HTTP 状态代码 402 表示“需要付款”,这似乎最适合您的情况。 401“未经授权”也可能是合适的并且可能被更广泛地使用。有更多关于401 and 402 status codes on Wikipedia 的信息。无论您选择哪个,Rails has a symbol representation of them。
文章中关于402:
保留以供将来使用。初衷是这段代码 可能被用作某种形式的数字现金或小额支付的一部分 方案,但这并没有发生,并且通常不使用此代码。 然而,作为其使用示例,Apple 的 MobileMe 服务会生成 如果 MobileMe 帐户拖欠,则会出现 402 错误。[需要引用] 在 此外,如果特定 IP 地址已使 YouTube 使用此状态 请求过多,并要求此人输入验证码。
关于何时删除资源,我通常选择 204 "No Content" 或 200 "Ok"
【讨论】: