我有一个扩展Zend_Rest_Controller的REST设置。当我通过HTTP GET方法调用某个资源时,它会尝试执行indexAction()
而不是getAction()
当我使用$this->_request->getActionName()
中的preDispatch()
记录操作名称时,它会生成index
,同时应该映射到get
答案 0 :(得分:0)
注意:如果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()