我有一個擴展了Zend_Rest_Controller的REST設置。當我打電話一定的資源,通過HTTP GET方法它試圖執行indexAction()
不getAction()
Zend Rest Controller將GET映射到indexAction
當我登錄它產生index
而它應該映射到get
我有一個擴展了Zend_Rest_Controller的REST設置。當我打電話一定的資源,通過HTTP GET方法它試圖執行indexAction()
不getAction()
Zend Rest Controller將GET映射到indexAction
當我登錄它產生index
而它應該映射到get
See docs here的preDispatch()
使用$this->_request->getActionName()
動作名稱:
注意:如果Zend_Rest_Route無法匹配有效的模塊,控制器或 操作,它將返回FALSE並且路由器將嘗試使用路由器中的下一條路由匹配 。
所以看起來你沒有getAction()
功能在你的控制器或你使用錯誤的控制器。
這是預期的行爲。 GET返回實體的單個實例,例如myhost.com/book/1將返回ID爲1的書。相比之下,myhost.com/book會返回所有可用書籍的列表。
簡單地嘗試這樣的:
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()是映射HTTP方法,沒有INDEX方法 –
它的行爲不同於post,put,delete你不必明確地調用它們,如果你做了一個POST請求,它映射到postAction,同樣的情況fo其餘的,除了get方法,它解析爲索引,必須顯式調用 –
我把你的問題弄錯了。編輯我的回答 –