0

だから、私は zend rest API を持っていて、Zend_Rest_Controller を実装しています。アプリは動作しますが、URL スキームは私には奇妙です。

www.example.com/public/user <- triggers index action in my UserController
www.example.com/public/user/get <- triggers get action in my UserController
www.example.com/public/user/post <- triggers post action in my UserController
www.example.com/public/user/put <- triggers put action in my UserController
www.example.com/public/user/delete <- triggers delete action in my UserController

また、API は、POST で ajax 呼び出しを行い、post パラメーターを入力した場合のように、要求に応答します。API はパラメーターを取得できますが、それが POST であることは気にしません。 www.example.com/public/user に POST パラメータを投入すると、API は index アクションを呼び出すと考えますが、アクセスできるパラメータを使用します

 $this->getRequest()->getParam() 

URLがもっと似ているといいですね

www.example.com/user <- And have it respond to requests like POST or GET

私のURLスキーマがなぜそんなに奇妙であるかについて、誰かが少しでも手がかりを得ましたか?

4

1 に答える 1

0

Zend 構成で REST ルーティングをセットアップする必要があります。これは次のように実現できます。

$front     = Zend_Controller_Front::getInstance();
$restRoute = new Zend_Rest_Route($front, array(), array(
    'public' => array('user')
));
$front->getRouter()->addRoute('rest', $restRoute);

これにより、Public_UserController() が生成されます。

GET /public/user        - IndexAction
POST /public/user       - postAction
PUT /public/user/:id    - putAction
DELETE /public/user/:id - deleteAction

Zend Framework ドキュメントのこの部分も参照してください: http://framework.zend.com/manual/1.12/en/zend.controller.router.html#zend.controller.router.routes.rest

また、Zend_Config INI を使用して REST ルートを構成すると、REST ルートと INI 構成に関していくつかのバグが報告されているため、何らかのトラブルシューティングが行われる可能性があることも付け加えておきます。以下も参照してください。

http://zend-framework-community.634137.n4.nabble.com/Zend-Rest-Route-and-application-ini-td1014158.html

于 2013-08-09T09:44:13.243 に答える