找不到Laravel REST风格的控制器方法
问题描述:
我无法让我的控制器收听DELETE请求。当我发送DELETE请求到/ api/players/1时,我得到一个NotFoundHttpException。这里是我的routes.php文件找不到Laravel REST风格的控制器方法
Route::group(array('prefix' => 'api'), function() {
Route::controller('matches', 'MatchController');
Route::controller('players', 'PlayerController');
Route::controller('auth', 'AuthController');
});
我的PlayerController
class PlayerController extends BaseController {
public function getIndex() {
// do something... this works
}
public function postIndex() {
// do something... this works
}
public function deleteIndex() {
// works when I send a DELETE request to /api/players
}
public function delete($id = null) {
// doesn't work!
}
}
我想我错过了一些怎样的秘密字什么的......我只是不知道如何捕捉一个DELETE请求一个ID。我究竟做错了什么?
答
好的...所以现在我已经把我的控制器更改为资源控制器......我不完全确定这是否是正确的方式来执行它,但它似乎工作!
新routes.php文件:
Route::group(array('prefix' => 'api'), function() {
Route::resource('matches', 'MatchController');
Route::resource('players', 'PlayerController');
Route::resource('auth', 'AuthController');
});
PlayerController.php:
class PlayerController extends BaseController {
public function index() {
// GET /api/players
}
public function store() {
// POST /api/players
}
public function destroy($id) {
// DELETE /api/players/{id}
}
}
+0
这是完全相同的方式去做吧。 – ridecar2 2013-07-15 11:38:03
顺便说一句:http://area51.stackexchange.com/proposals/46607/laravel – Kriem 2013-03-22 11:41:47