我在网上参考了许多关于这个主题的文章,但只得到了基本的例子。我遇到了一些实际问题。
1). 在Zend_Rest_Controller中,有获取、发布、放置和删除的抽象方法。我如何使用getAction,postAction等创建自己的函数而不是thean...为了响应 GET 请求(例如:api.abc.com/product/5 - 这将返回类别 5 中的一组产品)?
2). 是否可以只为模块中的特定控制器启用静止路由?
你能举一些例子或一些文章吗?
我会尝试回答这个问题,因为我已经使用 Zend_Rest_Controller
创建了一个 API,但由于该项目不是公开的,我只能复制粘贴这么多。
1)好吧,您应该使用这些方法。它们很有帮助,因为它们迫使您从每个控制器都是资源的角度来思考。因此,对于每个资源,您应该只能定义一次 GET 动词。
public function getAction()
{
if (!is_null($this->getParam("id"))) {
$this->view->user = $userModel->getUserById($this->getParam("id",null));
$this->_helper->viewRenderer('get-user');
} else {
$userModel = new Model_Users();
$this->view->users = $userModel->getUsers();
$this->_helper->viewRenderer('get-all-users');
}
}
2)开箱即用 - 我认为没有。但这应该不是一件坏事,因为无论如何,您应该将所有其余功能放在一个单独的模块中。