CakePHP3映射RESTFul路由

问题描述 投票:1回答:1

我正在尝试在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

rest api cakephp routing cakephp-3.0
1个回答
1
投票

你的文件夹名称应该是V2而不是v2

© www.soinside.com 2019 - 2024. All rights reserved.