Laravel 5 RESTful 资源路由不工作

Laravel 5 RESTful resource route not working

我有Laravel 5条资源路线:

Route::group(['middleware' => 'auth'], function() {

    Route::resource('api/room', 'RoomsController');

    // ...
});

RoomsController 是用 php artisan make:controller 命令生成的。

<?php namespace App\Http\Controllers;
use Auth;
use App\Room;
use App\RoomUsers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class RoomsController extends Controller {
    // ...
}

index路线工作。当我 GET api/room 时,它 returns 预期结果。
RoomsController@index方法:

public function index() {
    $user = Auth::user();
    $currentUserRooms = RoomUsers::where('user_id', '=', $user->id)->get();
    return response($currentUserRooms);
}

问题:
当我尝试 POST 到相同的 URI (/api/room) 时,我得到 500 Internal Server Error.

RoomsController@store方法(应该在POST请求到来时调用)。

public function store() {
    return response('is Working') // But isn't working
}

我在php.ini文件中设置了这些选项,但还是看不到错误信息。它仅显示“500 内部服务器错误”

error_reporting = E_ALL
display_errors = On
display_startup_errors = On

我也启用了 Laravel 5 调试模式。

我尝试了代码。它奏效了。确保您已登录。

问题是由 Laravel 的 CSRF 保护引起的。

我使用 PostMan 发送请求。它接受 GET 请求,但不接受 POSTPUT.

我使用了 this page 中的修复来禁用对这些路由的 CSRF :

// app/Http/Middleware/VerifyCsrfToken.php
// ...
class VerifyCsrfToken extends BaseVerifier {

    private $openRoutes = ['api/room', 'api/message'];

    public function handle($request, Closure $next) {
        foreach ($this->openRoutes as $route) {
            if ($request->is($route)) {
                return $next($request);
            }
        }

        return parent::handle($request, $next);
    }
}

关于报错:
昨天我启用了所有错误报告选项并多次重启 apache2 服务。但是 PostMan.

中没有显示错误描述或堆栈跟踪

今天一觉醒来测试了一下。它刚刚起作用。现在我有 laravel 错误报告和堆栈跟踪。我没有关闭或重新启动机器。 (Lubuntu 14.04 32 位).
我不知道为什么昨天会发生这种情况。也许这是一些愚蠢的错误。