在 Laravel 中捕获特定路由上的所有 HTTP 动词

Catch all HTTP verbs on certain route in Laravel

如何编写代码 Laravel 5.1 router/controller 以响应特定路由上的 any/all HTTP 动词(GET、POST、DELETE 等)?

我可以声明:

Route::controller('foo', 'FooController');

class FooController extends Controller
{
    public function getIndex()
    {
    }

    public function postIndex()
    {
    }
}

但是我不想为所有可能的动词列出单独的方法,而是想要这样的东西:

class FooController extends Controller
{
    public function allIndex()
    {
    }
}
Route::any('foo', 'FooController@allIndex');

您可以使用 any 它适用于单一功能上的所有类型的请求。

class FooController extends Controller
{
    public function allIndex()
    {
    }
}

其次,在您的控制器中,您可以使用 method()

检查调用了哪种方法类型的方法
public function allIndex()
{
     request()->method() // returns GET,POST, PUT, PATCH

}

希望对您有所帮助。

检查这是否是您要查找的内容:

Route::any('foo', [ 'uses' => 'FooController@allIndex' ]);