2012-05-17 45 views
2

我已經在網上提到的許多文章關於這個問題,但只拿到了基本的例子。我遇到了一些實際問題。實際例子爲Zend公司的RESTful API

1)。在Zend_Rest_Controller中有get,post,put和delete的抽象方法。我如何使用getAction,postAction等創建我自己的函數,而不是使用getAction,postAction等來響應get請求(例如:api.abc.com/product/5 - 這將返回來自類別5的產品集) ? 2)。是否可以僅爲模塊中的特定控制器啓用休息路由?

你能舉些例子或一些文章?

回答

0

我會盡量回答這個問題,因爲我已經創建使用Zend_Rest_Controller的API,但因爲該項目是不公開的,我只能複製粘貼這麼多。

1)那麼你應該使用這些方法。它們是有用的,因爲它們強迫你從每個控制器的角度思考資源。因此,對於每個資源,您只能定義一次GET動詞。

public function getAction() 
{ 
    if (!is_null($this->getParam("id"))) { 
     $this->view->user = $userModel->getUserById($this->getParam("id",null)); 
     $this->_helper->viewRenderer('get-user'); 
    } else { 
     $userModel = new Model_Users(); 
     $this->view->users = $userModel->getUsers(); 
     $this->_helper->viewRenderer('get-all-users'); 
    } 
} 

2)好開箱 - 我想沒有。但是這不應該是一件壞事,因爲您應該將所有其他功能放在單獨的模塊中。