Zend Rest Controller将GET映射到indexAction

时间:2012-11-26 14:08:22

标签: zend-framework rest

我有一个扩展Zend_Rest_Controller的REST设置。当我通过HTTP GET方法调用某个资源时,它会尝试执行indexAction()而不是getAction()

当我使用$this->_request->getActionName()中的preDispatch()记录操作名称时,它会生成index,同时应该映射到get

2 个答案:

答案 0 :(得分:0)

See docs here

  

注意:如果Zend_Rest_Route无法匹配有效的模块,控制器或   动作,它将返回FALSE,路由器将尝试匹配   使用路由器中的下一个路由。

所以看起来你的控制器中没有getAction()功能,或者你使用了错误的控制器。

答案 1 :(得分:-1)

这是预期的行为。 GET返回实体的单个实例,例如myhost.com/book/1会返回ID为1的书。相比之下,myhost.combook会返回所有可用书籍的列表。

只需尝试以下内容:

curl -v -H "Accept: application/json" -X GET http://myhost.com/book/1

VS

curl -v -H "Accept: application/json" -X GET http://myhost.com/book

第一个调用将委托给getAction(),第二个调用委托给indexAction()