我正在尝试在CakePHP3中配置RESTful API资源映射。我跟着一些啧啧但是无法使它有效。
我正在使用'prefix'路线将/api/v2/:resource
映射到Controllers文件夹中的子文件夹。
我的文件结构:
这是我的路由配置
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方法发出请求来测试它。
编辑2:我尝试用另一个前缀Foo
来避免V2区分大小写的问题,好吧,这是额外的,路线似乎很好,但蛋糕不匹配其中任何一个..
你的文件夹名称应该是V2
而不是v2
。