Метод PUT и DELETE не работает в Laravel

У меня проблема с маршрутами в Laravel.

Когда я использую следующий маршрут:

Route::resource('user', 'PostsController');

Методы PUT и DELETE отлично работают с функциями уничтожения и обновления в моем контроллере, но когда я использую следующий маршрут:

Route::delete('{$id}', function($id){
    return "Remover o usuário ".$id;
});

а также

Route::put('{$id}', function($id){
    return "Editar o usuário ".$id;
});

У меня есть следующая ошибка:

NotFoundHttpException in RouteCollection.php line 161:

in RouteCollection.php line 161
at RouteCollection->match(object(Request)) in Router.php line 780
at Router->findRoute(object(Request)) in Router.php line 610
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in HandleCors.php line 42
at HandleCors->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 56
at require_once('C:\xampp\htdocs\apiRest\public\index.php') in server.php line 21

Ниже следуйте изображению, чтобы узнать больше о том, как я могу отправить запрос.

Запрос

Я использую Postsman для отправки запроса.

Пожалуйста, кто-нибудь может мне помочь??


person Robson Ferreira    schedule 06.09.2016    source источник


Ответы (1)


В Laravel параметры маршрута определяются без $, например {id} вместо {$id}. Дополнительные сведения см. в документах.

Итак, в вашем случае:

Route::delete('{id}', function($id){
    return "Remover o usuário ".$id;
});

а также:

Route::put('{id}', function($id){
    return "Editar o usuário ".$id;
});
person Björn    schedule 06.09.2016