1

在 Zend Framework 中创建 Restful API 时,可以使用模块吗?如果是这样,有人能解释一下吗?举个例子。(或支持文件的链接)

我有模块称为:

产品

  • 可能有一个控制器

实体

可能有多个控制器,例如。

  • /顾客

  • /供应商

在每个我都有一个带有方法的索引控制器:

得到

邮政

删除

例子:

Products/index/?id=1&name=test (将添加)

但是我想删除单词 index 所以它改为: Products/?id=1&name=test (将添加)

我可以在 Zend_Controller_Router_Route 的帮助下做到这一点,但它没有通过请求,我查看了 getMethod,但你不能在引导阶段这样做。

有没有什么方法可以将模块化 Zend Framework 应用程序用作 Restful API?

4

1 回答 1

1

是的你可以。

您必须使用 Zend_Rest_Route。它通过方法将请求路由到正确的操作。有一个错误会阻止在配置文件中配置 rest 路由,因此您必须在引导程序中添加路由。

<?php
protected function _initRestRoute()
{
    $front = Zend_Controller_Front::getInstance();
    $router = $front->getRouter();
    $restRoute = new Zend_Rest_Route(
        $front,
        array(),     //Defaults
        array('api') //Restful modules
    );
    $router->addRoute('rest', $restRoute);
}

默认情况下,如果您提供这样的 URL,则 123 绑定到变量 $id

products/123

您也可以像这样指定 Url,当变量绑定 '123' -> $id 和 'test' -> $name

products/id/123/name/test

控制器应该扩展 Zend_Rest_Controller 类

于 2011-06-06T05:45:47.967 回答