我想开始为我的应用程序使用Zend_Rest_Controller,并在我的引导程序中设置了这样的路由:
protected function _initRestfulRoutes()
{
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
// Specifying all controllers as RESTful:
$restRoute = new Zend_Rest_Route($front);
$router->addRoute('default', $restRoute);
}
但是,使用Zend_Navigation时,所有路由都将默认为索引操作。我的路线定义如下:
<users>
<label>Users</label>
<controller>users</controller>
<action>index</action>
<route>default</route>
<pages>
<delete>
<label>Delete Me</label>
<controller>users</controller>
<action>delete</action>
<id>1</id>
<route>default</route>
</delete>
</pages>
</users>
删除路线解析为http://myapp.com/users
而不是http://myapp.com/users/1?_method=DELETE
知道发生了什么事吗?感谢。
答案 0 :(得分:2)
Zend_Rest_Route不会根据GET请求路由到“deleteAction()”。要调用“deleteAction”,您需要在请求正文中发送带有_method = DELETE的POST请求。