响应为iOS应用程序开发的php(Magento)Web服务的Http状态代码

时间:2013-01-20 08:07:58

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

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

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

2)如果我发错密码,他会给我一个标志,因为结果=假& http状态代码为200。

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

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

2 个答案:

答案 0 :(得分:5)

您可以在Magento中添加自定义响应状态代码,

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

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

答案 1 :(得分:1)

  

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

这取决于您的需求。编写规范,然后相应地实现。如果你说401,请选择401。

  

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

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