cakephp命名参数打破基于REST的Web服务

时间:2012-11-13 13:33:56

标签: cakephp

我有一个基于以下形式的json REST:

Router::mapResources('Test');

这相当于索引方法:

Router::connect( '/Test',
                 array(
                      'controller' => 'ChannelSources', 
                      'action' => 'index', 
                      '[method]' => 'GET' ),
                 array();

我正在尝试为此方法添加对命名参数的支持。 但显然它打破了Router方法,因为索引动作不是URL的一部分

我试过用过     路由器:: connectNamed(阵列( 'somenameparam')); 但它失败了。

1 个答案:

答案 0 :(得分:1)

我会创建一个特定的路线,以便您可以传递正确的参数,然后您可以将您的参数传递到路线中。

看看http://book.cakephp.org/2.0/en/development/routing.html#passing-parameters-to-action

Router::connect(
    '/blog/:id-:slug', // E.g. /blog/3-CakePHP_Rocks
    array('controller' => 'blog', 'action' => 'view'),
    array(
        // order matters since this will simply map ":id" to $articleId in your action
        'pass' => array('id', 'slug'),
        'id' => '[0-9]+'
    )
);