【问题标题】:Http status code in response of php(Magento) web service developed for iOS app响应为 iOS 应用程序开发的 php(Magento) Web 服务的 Http 状态码
【发布时间】:2013-01-20 08:07:57
【问题描述】:

我正在开发像 eBay 这样的 iOS 应用程序。对于这个 Web 服务开发人员正在使用 Magento。他为 Login 开发了 Web 服务。以下是情况:

1) 如果我发送有效的登录凭据,他会返回我登录使用的信息作为响应 + 一个标志作为结果 = true & 在这种情况下 http 状态代码是 200。

2) 如果我发送了错误的密码,他会返回一个标志,因为结果 = false & http 状态码是 200。

基本上我不想依赖结果标志,因为如果开发人员更改了结果标志名称,那么 iOS 应用程序将无法识别。所以我想遵循http状态码的标准。

我的问题是,在第二种情况下发送 200 作为 http 状态码是否正确?我认为他应该给我发 401 吗?如果我错了,请纠正我。 如果我是对的,有没有办法从 php 代码发送 http 状态码,以便我可以在 iOS 端检查 http 状态码?

【问题讨论】:

    标签: php web-services magento ios6 http-status-codes


    【解决方案1】:

    您可以通过以下方式在 Magento 中添加自定义响应状态代码,

    $this->getResponse()->setHeader('HTTP/1.0','404',true);
    $this->getResponse()->setHeader('HTTP/1.0','200',true);
    

    其中 $this 是控制器操作对象,代码在您的 magento 控制器中工作

    【讨论】:

      【解决方案2】:

      我的问题是,在第二种情况下发送 200 作为 http 状态码是否正确?我认为他应该给我发 401 吗?如果我错了,请纠正我。

      这取决于您的需求。编写规范,然后相应地实施。如果你说401,就拿401。

      如果我是对的,有没有办法从 php 代码发送 http 状态码,以便我可以在 iOS 端检查 http 状态码?

      当然,有。幸运的是这个has been asked before,所以信息已经在这个网站上,我们不需要再回答了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-11
        • 1970-01-01
        • 2017-11-24
        • 2017-09-05
        相关资源
        最近更新 更多