【问题标题】:HTTP Status code and json content for account limits?帐户限制的 HTTP 状态代码和 json 内容?
【发布时间】:2013-01-13 20:41:15
【问题描述】:

我的用户帐户可以是免费帐户或付费帐户。免费帐户仅限于创建 5 个资源。用户使用 JSON API 创建这些。如果用户达到了 5 个资源的帐户限制,然后尝试创建另一个资源,我应该如何应对?什么是合适的HTTP状态码,json的内容应该是什么?

另外,这个有点不相关,当用户删除单个资源时,JSON响应内容应该是什么?

【问题讨论】:

    标签: ruby-on-rails json api http-headers


    【解决方案1】:

    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"

    【讨论】:

    • 当我向 Android 的 HttpURLConnection 发送 402 时,当我尝试读取输入流时,它会引发异常。如果我使用 400 个代码中的任何一个,Android 就会抛出异常。
    猜你喜欢
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 2012-06-16
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    相关资源
    最近更新 更多