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

3

这篇文章是我之前一篇文章的后续问题:

使用Zend Framework创建Android RESTful Web应用程序

我编写了一个基于Zend Framework(版本1.11.11)的Web应用程序,并且我想要使用相同的后端代码来编写该应用程序的移动版本(Android)。为了实现这一点,我希望获取每个控制器中操作的响应以XML和JSON的形式呈现,以供移动应用程序使用。

使用上面链接中提供的答案,我能够通过使用AjaxContext助手来获得XML和JSON响应。我在init方法中设置所需操作的上下文为json,并获得了所需的json响应。

现在我有另一个挑战。如何从URL中知道给定的操作是GET请求还是POST请求?我需要将其添加为查询参数吗?这是正确的方式吗?

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

Thanks. Abhilash


2
你不需要再写另一个问题了,我已经在你之前的问题中编辑了我的答案,链接在这里:https://dev59.com/PGHVa4cB1Zd3GeqPsP2B - Liyali
1个回答

2

像您添加格式参数一样,对请求进行相同的操作。使用“method”参数来决定请求的类型。或者您也可以这样做

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接