2

私はこの件に関して Web で多くの記事を参照しましたが、基本的な例しか得られませんでした。私はいくつかの実用的な問題を抱えています。

1)。Zend_Rest_Controller には、get、post、put、delete の抽象メソッドがあります。get リクエストに応答するために、getAction、postAction などを使用するのではなく、独自の関数を作成するにはどうすればよいですか (例: api.abc.com/product/5 - カテゴリ 5 から一連の製品が返されます)。 ?

2)。モジュール内の特定のコントローラーに対してのみレスト ルーティングを有効にすることはできますか?

いくつかの例または記事を教えてください。

4

1 に答える 1

0

を使用してAPIを作成したので、これに答えようとしますZend_Rest_Controllerが、プロジェクトが公開されていないため、コピーアンドペーストしかできません。

1)これらの方法を使用する必要があります。これらは、すべてのコントローラーがリソースであるという観点から考える必要があるという点で役立ちます。したがって、リソースごとに GET 動詞を定義できるのは 1 回だけです。

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)箱から出してすぐに-いいえだと思います。ただし、残りの機能はすべて別のモジュールに配置する必要があるため、それは悪いことではありません。

于 2014-11-11T15:37:32.600 に答える