Поймать все глаголы HTTP на определенном маршруте в Laravel - PullRequest
0 голосов
/ 27 апреля 2018

Как кодировать маршрутизатор / контроллер Laravel 5.1 для ответа на любые / все 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()
    {
    }
}

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Проверьте, если это то, что вы ищете:

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

0 голосов
/ 27 апреля 2018
Route::any('foo', 'FooController@allIndex');

Вы можете использовать any, он будет работать для всех типов запросов в одной функции.

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

Во-вторых, в вашем контроллере вы можете проверить, какой метод вызывается методом, используя method()

public function allIndex()
{
     request()->method() // returns GET,POST, PUT, PATCH

}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...