Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException没有消息

时间:2017-10-13 12:43:25

标签: laravel routes

我提交表格时的以下路线工作正常

Route::put('/autorisation', 'AdministratifController@update_autorisation')->name('administartif.updateautorisation');

但我想知道为什么当我尝试访问http://example.com/autorisation时 它抛出

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message

找不到页面

它不是关于访问浏览器并输入example.com/autorisation的形式,然后你得到no message代替404的错误

PS:在我的路线中,我没有定义此Route::get('/autorisation')

4 个答案:

答案 0 :(得分:0)

通过自己访问该页面,您可以执行GET HTTP请求而不是PUT。

答案 1 :(得分:0)

您需要将路线设置为GET而不是PUT。

答案 2 :(得分:0)

请改变你的路线并尝试:

Route::post('autorisation', 'AdministratifController@update_autorisation')->name('administartif.updateautorisation');

答案 3 :(得分:0)

您将路线定义为PUT,但您尝试将其用作GET路线。这就是你获得MethodNotAllowed的原因。

如果你想显示404错误而不是这个MethodNotAllowed(当DEBUG=false时它会是一个哎呀),你应该在你的处理程序中处理它。

report修改App\Exceptions\Handler方法,如下所示:

public function report(Exception $exception)
{
    if ($exception instanceof MethodNotAllowedHttpException) {
        abort(404, 'Page not found');
    }

    return parent::report($exception);
}