用于POST和PUT方法的基于Zend的REST URI

时间:2012-03-28 05:54:46

标签: zend-framework rest post

这篇帖子如果是以前帖子的后续问题:

Android RESTful Web application using Zend Framework

我编写了一个基于Zend Framework(版本1.11.11)的Web应用程序,我想使用SAME后端代码来编写此应用程序的移动版本(Android)。为实现这一目标,我希望获得XML和JSON控制器中每个操作的响应 - 基于移动的应用程序。

使用上面链接中提供的答案,我可以通过使用AjaxContext帮助程序来获取XML和JSON响应。我将上下文设置为json,以便在init方法中执行所需的操作,并获得所需的json响应。

现在我有另一个挑战。如果给定的操作是GET或POST请求,如何从URL中知道?我是否必须将其添加为查询参数?这是正确的方法吗?

例如,对于用户控制器中的登录操作:URL将为:[link](http://localhost/user/login) 但是在loginAction中,我检查给定的请求是否有帖子,并且仅在请求是帖子时进行身份验证。因此,URL:http://localhost/user/login?format=xml将始终向我返回GET请求的响应,因为无法知道请求是GET还是POST。请帮忙。

感谢。 Abhilash

1 个答案:

答案 0 :(得分:2)

就像你添加的格式参数一样对请求做同样的事情。使用“method”参数来确定它的请求类型。或者你也可以做到

 $this->getRequest()->isPost(); //create
$this->getRequest()->isGet();   //read
$this->getRequest()->isPut();   // update
$this->getRequest()->isDelete();  // delete