i have method in 'flight' controller :
/** * store newly created resource in storage. * * @param \illuminate\http\request $request * @return \illuminate\http\response */ public function store(request $request) { $arrivaldatetime = $request -> input('arrival.datetime'); return $arrivaldatetime; }
and route:
route::resource('api/v1/flights', v1\flightcontroller::class, ['except' => ['create', 'edit']]);
i tried make post request using httprequester address:
http://localhost:8000/api/v1/flights
with content:
{ "flightnumber":"jwm12345", "status":"ontime", "arrival": { "datetime":"2016-04-10 22:34:01", "iatacode":"a57" }, "departure": { "datetime":"2016-04-10 21:34:01", "iatacode":"9c1" }}
i set content type 'application/json', submit request , got error:
tokenmismatchexception in verifycsrftoken.php line 67:
in verifycsrftoken.php line 67 @ verifycsrftoken->handle(object(request), object(closure)) @ call_user_func_array(array(object(verifycsrftoken), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in shareerrorsfromsession.php line 49 @ shareerrorsfromsession->handle(object(request), object(closure)) @ call_user_func_array(array(object(shareerrorsfromsession), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in startsession.php line 64 @ startsession->handle(object(request), object(closure)) @ call_user_func_array(array(object(startsession), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in addqueuedcookiestoresponse.php line 37 @ addqueuedcookiestoresponse->handle(object(request), object(closure)) @ call_user_func_array(array(object(addqueuedcookiestoresponse), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in encryptcookies.php line 59 @ encryptcookies->handle(object(request), object(closure)) @ call_user_func_array(array(object(encryptcookies), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 103 @ pipeline->then(object(closure)) in router.php line 726 @ router->runroutewithinstack(object(route), object(request)) in router.php line 699 @ router->dispatchtoroute(object(request)) in router.php line 675 @ router->dispatch(object(request)) in kernel.php line 246 @ kernel->illuminate\foundation\http\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 52 @ pipeline->illuminate\routing\{closure}(object(request)) in checkformaintenancemode.php line 44 @ checkformaintenancemode->handle(object(request), object(closure)) @ call_user_func_array(array(object(checkformaintenancemode), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 103 @ pipeline->then(object(closure)) in kernel.php line 132 @ kernel->sendrequestthroughrouter(object(request)) in kernel.php line 99 @ kernel->handle(object(request)) in index.php line 54 @ require_once('/home/dendi/documents/gitprojects/airview/public/index.php') in server.php line 21
what suppose make request succeed?
_token
required in post, put, delete method. if using web middleware default.
to obtain token can create route uses csrf_token()
function token , returns it. make request route token n2s68opszamvyyifvvdhlrwvff55zdwkaqpjx8as
, put in request body
{ "_token":"n2s68opszamvyyifvvdhlrwvff55zdwkaqpjx8as", ... }
and make requests.
or
if don't want use csrf vaildation on routes create new verifycsrftoken
class in ever namespace used namespace app\http\middleware
now add routes want not verified csrf token in $except
array.
<?php namespace app\http\middleware; use illuminate\foundation\http\middleware\verifycsrftoken baseverifier; class verifycsrftoken extends baseverifier { protected $except = [ 'api/v1/flights' ]; }
now replace in kernel.php
protected $middleware = [ 'illuminate\foundation\http\middleware\checkformaintenancemode', 'illuminate\cookie\middleware\encryptcookies', 'illuminate\cookie\middleware\addqueuedcookiestoresponse', 'illuminate\session\middleware\startsession', 'illuminate\view\middleware\shareerrorsfromsession', 'illuminate\foundation\http\middleware\verifycsrftoken', // <-- ]
with this
protected $middleware = [ 'illuminate\foundation\http\middleware\checkformaintenancemode', 'illuminate\cookie\middleware\encryptcookies', 'illuminate\cookie\middleware\addqueuedcookiestoresponse', 'illuminate\session\middleware\startsession', 'illuminate\view\middleware\shareerrorsfromsession', 'app\http\middleware\verifycsrftoken', // <-- ]
hope helps :)
Comments
Post a Comment