Zend_Rest_Route для конкретного контроллера
Я пытаюсь сделать Zend_Rest_Route для конкретного контроллера. Я хочу, чтобы остальная часть моего сайта работала нормально, кроме случаев, когда запрашивается определенный контроллер (UploadAPI). Я думаю, что ситнакс должен быть следующим, но с трудом проверяющим. Все примеры связаны с модулями, но у меня нет модуля. Это правильно?
protected function _initRestRoute() {
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$restRoute = new Zend_Rest_Route($frontController, array(), array('default' => array('UploadAPI'),));
$frontController->getRouter()->addRoute('rest', $restRoute);
}
Ссылка здесь
http://weierophinney.net/matthew/archives/228-Building-RESTful-Services-with-Zend-Framework.html
приводит примеры с модулями, но у меня нет модулей, и я предполагаю, что "по умолчанию" является именем модуля.
1 ответ
Так что у меня работает функционал API, вот как это выглядит. Вы должны добавить эту функцию в класс Bootstrap для инициализации Zend_Rest_Route. Это сделает маршрутизацию Zend Rest API только для контроллеров, перечисленных в массиве, остальная часть сайта должна работать как положено
protected function _initRestRoute() {
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$restRouteUL = new Zend_Rest_Route($frontController, array(), array('default' => array('UploadAPI', 'LocationMatchesAPI', 'GetMatchesByIdAPI', 'AuthAPIController') ));
$frontController->getRouter()->addRoute('rest', $restRouteUL);
}