CakePHP3映射RESTFul路由

时间:2018-01-04 12:34:07

标签: rest api cakephp routing cakephp-3.0

我正在尝试在CakePHP3中配置RESTful API资源映射。我遵循了一些措施,但无法使其发挥作用。

我正在使用'prefix'路线将/api/v2/:resource与我的子文件夹映射到Controllers文件夹中。

我的文件结构:

enter image description here

这是我的路由配置

Router::prefix('api/v2', function ($routes) {

    $routes->resources('Users');

    // $routes->get('users', ['controller' => 'Users', 'action' => 'view']);
    // $routes->post('users', ['controller' => 'Users', 'action' => 'create']);
    // $routes->post('token', ['controller' => 'Users', 'action' => 'token']);

    // $routes->fallbacks(DashedRoute::class);
});

正如我在之前提到的那些内容中所读到的那样,这应该有效,但我得到ApiController的一个Missing Contoller异常。

如果我取消注释最后一行,启用fallbacks它可以正常工作,但它不能将控制器方法与HTTP方法GET,POST,DELETE,PUT匹配为CakePHP3 documentation提及。

有什么想法吗? 3.5.8中的我的蛋糕版 谢谢!

编辑:使用bin/cake routes似乎路线很好。我正在使用Postman使用不同的HTTP方法来请求测试。

enter image description here

编辑2:我尝试使用另一个前缀Foo来避免V2区分大小写的问题,而且,这是额外的,路线似乎很好,但蛋糕不匹配任何一位.. enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您的文件夹名称应为(1,2,3),(1,4,5) 而不是(2,3,4),(1,2,5) (3,4,5),(1,2,3) (1,4,5),(2,3,4)