使用 Zend 框架,我正在尝试在按以下模式组织的资源上为 REST api 构建路由:
- http://example.org/users/
- http://example.org/users/234
- http://example.org/users/234/items
- http://example.org/users/234/items/34
如何使用 Zend_Rest_Route 设置它?
以下是我在 bootstrap.php 文件中为用户资源 (users/:id) 设置路由的方法:
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$restRoute = new Zend_Rest_Route($frontController);
$frontController->getRouter()->addRoute('default', $restRoute);
[据我了解,这是一条包罗万象的路线,因此 users/324/items/34 将导致参数设置为 id=324 和 items=34 ,并且所有内容都将映射到用户(前端模块)模型。从那里我想我可以测试 items 参数并在 get 请求上为用户 #324 检索项目 #34。]<=== 我刚刚检查了它,它似乎不像那样工作:
访问 /users/234/items/43 和
var_dump($this->_getAllParams());
在 rest 控制器的 get 操作中会产生以下输出:
array(4) {
["controller"]=> string(5) "users"
["action"]=> string(3) "get"
[2]=> string(5) "items" ["module"]=> string(7) "default"]
}
不知何故,两个ID都丢失了...
任何人?