Zend Frameworkを使用して、次のパターンで編成されたリソース上にRESTAPIのルートを構築しようとしています。
- 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が失われました...
誰?