我正在一CakePHP的JSON REST API -CakePHP的REST API POST請求調用指數(),而不是添加()
我正在關注的REST教程在http://book.cakephp.org/2.0/en/development/rest.html,並通過Chrome擴展測試一切「高級REST客戶端」
的唯一途徑,我可以得到預期的功能是通過一個GET請求指數() - 返回了我的測試數據的陣列(如預期)
當我發佈到試圖創建一個新的記錄,我收到一個404,同樣我添加了一些測試數據到我的數據庫,以嘗試一個GET請求一個配方的ID(一個36char UUI D字段)和請求路由到index()函數。
我收到以下響應,當我嘗試做任何事情,但一個簡單的GET請求:
{
code: 404
url: "https://stackoverflow.com/users/d8d9701e-2f6e-11e3-af16-2513f388d17e"
name: "Action UsersController::d8d9701e-2f6e-11e3-af16-2513f388d17e() could not be found."
}
這裏的請求是GET用戶/ d8d9701e-2F6E-11e3-af16-2513f388d17e
在我的routes.php文件文件:
Router::resourceMap(array(
array('action' => 'index', 'method' => 'GET', 'id' => false),
array('action' => 'view', 'method' => 'GET', 'id' => true),
array('action' => 'add', 'method' => 'POST', 'id' => false),
array('action' => 'edit', 'method' => 'PUT', 'id' => true),
array('action' => 'delete', 'method' => 'DELETE', 'id' => true),
array('action' => 'update', 'method' => 'POST', 'id' => true)
));
Router::mapResources('users');
Router::parseExtensions('json');
我UsersController.php樣子:http://pastebin.com/bDxRLbTP
注意評論訪問控制規則似乎對我的問題沒有影響。無論如何,我已經在沒有控制規則的情況下嘗試過它,而我並不是100%正確的存在於正確的地方。但是由於CORS的一些問題,我認爲POST不起作用。但是,它不會在嘗試查找特定記錄時解釋GET問題。
根據教程,我覺得我不應該實際上需要Router :: resoureMap函數,但爲了以防萬一,我拋出它。我也試過把它路由器:: mapResources撥打以下 - 但在本教程中,它說:
「通過覆蓋默認資源地圖,將來調用mapResources()將使用新的價值。」
所以我敢肯定它需要調用調用mapResources()
THANKS之前!