Zend_Rest_Route用于特定控制器

时间:2011-07-01 22:52:45

标签: api zend-framework zend-rest-route

我正在尝试为特定控制器创建Zend_Rest_Route。我希望我的网站的其余部分正常运行,除非请求特定的Controller(UploadAPI)。我认为sytnax应该如下,但很难验证。这些示例都与模块有关,但我没有模块。 它是否正确?

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 个答案:

答案 0 :(得分:4)

所以我有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);
}