2016-04-20 6 views
2

So habe ich Probleme mit einer PUT Anfrage in Laravel.Laravel 5.2 PUT Anfrage gibt MethodNotAllowedHttpException

Ich habe meine Forschung getan und weiß, dass Sie es eine PUT Anfrage mit _method = PUT und ändern zu POST simulieren sollten, da HTML nicht PATCH und PUT unterstützt.

Postman gibt immer noch die MethodNotAllowedHttpException zurück, ich habe auch die URL zum Array $except in der Klasse VerifyCsrfToken hinzugefügt. Ich habe auch versucht, es als GET Variable an das Ende der URL ohne Erfolg hinzuzufügen.

Der Protokollfehler von Laravel zurückgegeben:

in RouteCollection.php line 219 
at RouteCollection->methodNotAllowed(array('PUT')) in RouteCollection.php line 206 
at RouteCollection->getRouteForMethods(object(Request), array('PUT')) in RouteCollection.php line 158 
at RouteCollection->match(object(Request)) in Router.php line 802 
at Router->findRoute(object(Request)) in Router.php line 670 
at Router->dispatchToRoute(object(Request)) in Router.php line 654 
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 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 124 
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 103 
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 54 

Das sind meine Routen:

+--------+----------+-----------------------------------+------+-----------------------------------------------------------------+------------+ 
| Domain | Method | URI        | Name | Action               | Middleware | 
+--------+----------+-----------------------------------+------+-----------------------------------------------------------------+------------+ 
|  | GET|HEAD |/        |  | Closure               | web  | 
|  | PUT  | api/user       |  | App\Http\Controllers\[email protected]     |   | 
|  | POST  | dashboard/admin/updatedate  |  | App\Http\Controllers\[email protected]    | web,auth | 
|  | GET|HEAD | dashboard/alerts     |  | App\Http\Controllers\[email protected]      | web,auth | 
|  | GET|HEAD | dashboard/categorie/{id}   |  | App\Http\Controllers\[email protected]     | web,auth | 
|  | GET|HEAD | dashboard/development    |  | App\Http\Controllers\[email protected]    | web,auth | 
|  | GET|HEAD | dashboard/home     |  | App\Http\Controllers\[email protected]      | web,auth | 
|  | GET|HEAD | dashboard/login     |  | App\Http\Controllers\Auth\[email protected]   | web,guest | 
|  | POST  | dashboard/login     |  | App\Http\Controllers\Auth\[email protected]     | web,guest | 
|  | GET|HEAD | dashboard/logout     |  | App\Http\Controllers\Auth\[email protected]     | web  | 
|  | POST  | dashboard/password/email   |  | App\Http\Controllers\Auth\[email protected] | web,guest | 
|  | POST  | dashboard/password/reset   |  | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | GET|HEAD | dashboard/password/reset/{token?} |  | App\Http\Controllers\Auth\[email protected]  | web,guest | 
|  | POST  | dashboard/register    |  | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | GET|HEAD | dashboard/register    |  | App\Http\Controllers\Auth\[email protected] | web,guest | 
|  | GET|HEAD | dashboard/zone/{id}    |  | App\Http\Controllers\[email protected]      | web,auth | 
+--------+----------+-----------------------------------+------+-----------------------------------------------------------------+------------+ 

Hier sind meine Routen in Skript:

Route::group(['middleware' => ['web']], function() { 
    Route::get('/', function() { 
    return view('pvn.index'); 
    }); 

    Route::group(['prefix' => 'api'], function() { 
    Route::put('/user', '[email protected]'); 
    }); 

    Route::group(['prefix' => 'app'], function() { 
    return view('app.map.view'); 
    }); 

    Route::group(['prefix' => 'dashboard'], function() { 
    Route::auth(); 
    }); 
}); 

Route::group(['middleware' => ['web','auth']], function() { 

    Route::group(['prefix' => 'dashboard'], function() { 
     Route::post('/admin/updatedate', '[email protected]'); 

     Route::get('/home', '[email protected]'); 

     Route::get('/development', '[email protected]'); 
     Route::get('/categorie/{id}', '[email protected]'); 
     Route::get('/zone/{id}', '[email protected]'); 
     Route::get('/alerts', '[email protected]'); 
    }); 


}); 

Postbote Code:

PUT /api/user HTTP/1.1 
Host: platformveilignederland.nl 
Cache-Control: no-cache 
Postman-Token: 8dd46b47-ad06-151e-57de-7ddf37ee4f66 
Content-Type: application/x-www-form-urlencoded 

user=gertje 

Hat also jemand eine Idee, was könnte schief gehen?

+0

Welche Route werden Sie die Anfrage zu tun? –

+0

Machst du den Beitrag mit x-www-form-urlencoded, ausgewählt in Postmans Body-Registerkarte? –

+0

Wo ist Ihr Formularcode? Auf welcher Route posten Sie? –

Antwort

2

Es war ein Problem mit meinem .htaccess, der Server nicht erlauben Put und Delete-Anfrage. diese Zeilen hinzugefügt, damit es funktioniert:

<Limit GET POST PUT DELETE> 
    Allow from all 
</Limit> 

hoffe, das hilft jemand in der Zukunft