在 Zend Framework 中创建 Restful API 时,可以使用模块吗?

发布于 2024-11-12 22:17:23 字数 583 浏览 4 评论 0原文

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

我有一个名为:

产品

  • 可能有一个控制器

实体

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

  • /customer

  • /supplier

在每个我都有一个索引控制器,其方法如下:

获取

发布后

删除

=

示例:

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

但是我想删除单词索引,因此改为: Products/?id=1&name=test (将添加)

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

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

When creating a Restful API in Zend Framework, can you use modules? If so, can one explain how? with an example pref. (or a link with supporting documents)

I have modules called:

Product

  • may have one controller

Entity

may have more than one controller eg.

  • /customer

  • /supplier

In each I have an Index Controller with the methods:

Get

Post

Put

Delete

Example:

Products/index/?id=1&name=test (will add)

However I want to remove the word index so its this instead:
Products/?id=1&name=test (will add)

I can do that with the help of Zend_Controller_Router_Route but it does not pass the request, ive looked at getMethod, but you can not do that at bootstrap stage.

Is there any way that you can use modular Zend Framework application as a restful API?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终陌 2024-11-19 22:17:23

是的,你可以。

您必须使用 Zend_Rest_Route。它通过方法将请求路由到正确的操作。有一个错误会阻止在配置文件中配置其余路由,因此您必须在 bootstrap.conf 中添加该路由。

<?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 类

Yes you can.

You must use Zend_Rest_Route. It route the request by the method to the right action. There is one bug which prevents configuring the rest route in the configuration file, so you must add the route in the bootstrap.

<?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);
}

By default if you give a URL like this, the 123 is bind to the variable $id

products/123

You can also specify the Url like so, when the variables are bind '123' -> $id and 'test' -> $name

products/id/123/name/test

The controllers should extend the Zend_Rest_Controller class

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文