【发布时间】:2016-12-26 13:13:19
【问题描述】:
我必须通过浏览器访问 PUT 路由并获取 json 对象,但是 L5.2 向我显示 MethodNotAllowedHttpException 错误我要如何解决这个问题?
我的网址http://laravel5.restapi.dev/a?_method=put
我的路线:列表
路由.php
<?php
Route::put('/a', function () {
return view('welcome');
});
输出
Whoops, looks like something went wrong.
MethodNotAllowedHttpException in RouteCollection.php line 218:
in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('PUT')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('PUT')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 821
at Router->findRoute(object(Request)) in Router.php line 691
at Router->dispatchToRoute(object(Request)) in Router.php line 675
at Router->dispatch(object(Request)) in Kernel.php line 246
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Debugbar.php line 49
at Debugbar->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Debugbar), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Kernel.php line 132
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
at Kernel->handle(object(Request)) in index.php line 53
【问题讨论】:
-
您的路线有一个
PSOT声明。您说您使用的是PUT,这足以理解“不允许的方法”。但是,当你说accessing via browser时,你是什么意思?通过浏览器直接访问 URL 只能生成GET。 -
等等....你想要
PUT,你在代码中定义POST,并期望它处理PUT?我不明白。 -
@PeteHouston 对不起,我定义了 Route::put 而不是 Route::post
标签: php laravel laravel-5.2 laravel-routing