0

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

当我$this->_request->getActionName()preDispatch()它产生的index时候使用它记录动作名称时,它应该映射到get

4

2 回答 2

0

请参阅此处的文档

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

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

于 2012-11-26T14:10:52.140 回答
-1

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

只需尝试以下操作:

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

对比

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

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

于 2013-03-17T17:53:35.500 回答