未找到 Laravel RESTful 控制器方法

Posted

技术标签:

【中文标题】未找到 Laravel RESTful 控制器方法【英文标题】:Laravel RESTful controller method not found 【发布时间】:2013-03-21 21:05:20 【问题描述】:

我无法让我的控制器监听 DELETE 请求。当我向 /api/players/1 发送 DELETE 请求时,我得到了 NotFoundHttpException。这是我的 routes.php

Route::group(array('prefix' => 'api'), function() 

    Route::controller('matches', 'MatchController');
    Route::controller('players', 'PlayerController');
    Route::controller('auth', 'AuthController');

);

我的玩家控制器

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!
    

我想我遗漏了某种秘密词或什么...我只是不知道如何捕获带有 id 的 DELETE 请求。我做错了什么?

【问题讨论】:

顺便说一句:area51.stackexchange.com/proposals/46607/laravel 【参考方案1】:

好的...所以现在我已将控制器更改为资源控制器...我不完全确定这是否是正确的方法,但它似乎有效!

新路由.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
    

【讨论】:

就是这样。

以上是关于未找到 Laravel RESTful 控制器方法的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 5.2 中通过 RESTful 资源控制器使用 jQuery Ajax Post 方法将数据存储在数据库中

Laravel 4.2 InvalidArgumentException 未找到视图

如何使用 Artisan 命令 (PHP) 在 Laravel 5.2 中创建 RESTful 资源控制器

Laravel RESTful API 版本控制设计

Laravel RegisterController 路由未找到

未找到 Laravel 视图 5.2