我无法找到任何有用的信息。我正在尝试创建RESTful路由。以下是我希望我的路线是这样的:CakePHP宁静路线
`GET` routes to `RecipesController::api_index() //instead of RecipesController::index()`
`POST` routes to `RecipesController::api_add() //instead of RecipesController::add()`
`PUT` routes to `RecipesController::api_edit($id) //instead of RecipesController:edit($id)`
`DELETE` routes to `RecipesController::api_delete($id) //instead of RecipesController:delete($id)`
我不知道如何做到这一点,这里是我到目前为止有:
Router::resourceMap(array(
array('prefix'=>'api', 'action' => 'index', 'method' => 'GET', 'id' => false),
array('prefix'=>'api', 'action' => 'view', 'method' => 'GET', 'id' => true),
array('prefix'=>'api', 'action' => 'add', 'method' => 'POST', 'id' => false),
array('prefix'=>'api', 'action' => 'edit', 'method' => 'PUT', 'id' => true),
array('prefix'=>'api', 'action' => 'delete', 'method' => 'DELETE', 'id' => true),
array('prefix'=>'api', 'action' => 'update', 'method' => 'POST', 'id' => true)
));
Router::mapResources('recipes', array('prefix'=>'api'));
在我core.php
我有以下几点:
Configure::write('Routing.prefixes', array('api'));
蛋糕返回此:
404个缺少Recepies :: api_1()
这里是CakePHP文档我去了
此外,关于适当的RESTful API设计任何其他建议是极大的赞赏! :)
感谢。这对我不起作用:(它适用于GET,但是当我有DELETE/api/recepies/1时,它会返回404 missing Recepies :: api_1(),我希望它去到REcepies :: api_delete(1)任何想法如何解决它?我得到DELETE/api/recepies /删除/ 1将工作,但我试图远离那。 –
我假设“接收”是一个错字,对吗?检查与所有其他方法,如果它适用于GET和所有其他人,但删除它可能是调用REST操作的函数的问题。如果这部分没有错误,请尝试使用'resourceMap'覆盖缺省值(我将更新答案) – Nunser
它不适用于任何它,我只是使用DELETE作为示例。谢谢,我会尝试,如果有效,我会将答案标记为已接受。感谢您回复我。 –