отличный пост, но я бы подумал, что Zend_Rest_Controller
перенаправит запрос на правильное действие по отношению к используемому методу HTTP. Было бы хорошо, если бы запрос POST
на http://<app URL>/Restful
автоматически _forward
на postAction
, например.
Я опишу другую стратегию ниже, но, возможно, я упускаю суть Zend_Rest_Controller
... пожалуйста, прокомментируйте.
Моя стратегия:
class RestfulController extends Zend_Rest_Controller
{
public function init()
{
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();
}
public function indexAction()
{
if($this->getRequest()->getMethod() === 'POST')
{return $this->_forward('post');}
if($this->getRequest()->getMethod() === 'GET')
{return $this->_forward('get');}
if($this->getRequest()->getMethod() === 'PUT')
{return $this->_forward('put');}
if($this->getRequest()->getMethod() === 'DELETE')
{return $this->_forward('delete');}
$this->_helper->json($listMyCustomObjects);
}
// 1.9.2 fix
public function listAction() { return $this->_forward('index'); }
[the rest of the code with action functions]