Практический пример для Zend RESTful API
Я сослался на множество статей в Интернете на эту тему, но получил только базовые примеры. У меня есть некоторые практические вопросы.
1). В Zend_Rest_Controller есть абстрактные методы для получения, публикации, размещения и удаления. как мне создать свою собственную функцию, а не thean, используя getAction, postAction и т. д., чтобы отвечать на запрос get (например, api.abc.com/product/5 - который вернет набор продуктов из категории 5)?
2). Можно ли включить маршрутизацию покоя только для определенного контроллера в модуле?
Можете ли вы привести пример или статью?
1 ответ
Я постараюсь ответить на это, так как я создал API, используя Zend_Rest_Controller
, но так как проект не является общедоступным, я могу только копировать и вставлять столько.
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) Ну из коробки - думаю нет. Но это не должно быть плохо, так как все остальные функции вы должны в любом случае поместить в отдельный модуль.