/ / Laravel restful api error 500(保存および破棄) - laravel、laravel-5、laravel-routing、laravel-request

Laravel安らかなAPIエラー500(ストアと破壊) - laravel、laravel-5、laravel-routing、laravel-request

私は安らかなapiに慣れていません。問題、問題は次のとおりです。deleteメソッドを使用して破棄し、postメソッドを使用して保存すると、両方とも500エラーを返します。ただし、getメソッドを使用してインデックスを表示し、表示します。どちらも問題ありません。これが私のコードと要求です。

http://***.com/RestfulPrac/public/customers/10000001を削除します。

http://***.com/RestfulPrac/public/customers/10000001を取得します。

http://***.com/RestfulPrac/public/customersに投稿


 class CustomersController extends Controller
{
public function index(){

$customersInfo = customers::all();
return $customersInfo;

}

public function show($cust_id){

$customer = customers::where("cust_id",$cust_id)->first();
return $customer;
}
public function store()
{

echo "store";
}

public function destroy()
{

return "success";
}
}

Route::resource("customers","CustomersController");

Apacheへのアクセスログ: "DELETE / RestfulPrac / public / customers / 1000000001 HTTP / 1.0" 500 20246 " - " "Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(GeckoのようなKHTML)Chrome / 50.0.2661.102 Safari / 537.36"

Apacheのerror.log: [木6月02 09:09:24.324782 2016] [交渉:エラー] [pid 4328:tid 1676] [クライアント127.0.0.1:4940] var

laravel.log: 地元。エラー:F:PhpstormProjectsRestfulPracvendorlavelframeworksrcIlluminateFoundationHttpMiddlewareVerifyCsrfToken.phpの例外 "IlluminateSessionTokenMismatchException":67 スタックトレース:

誰かが私を助けることができるならば、私はそれを評価します!

回答:

回答№1は1

Laravelエラーログに基づいて、あなたはcsrfを持っていますトークンが一致しません。もしあなたがAPIを構築しているなら、おそらく "web"ミドルウェアを使いたくないでしょう。そのミドルウェアグループはセッションを開始しており、READ(GET、HEAD、OPTIONS)HTTPメソッドを使用していないすべてのリクエストでcsrfトークンをチェックします。

デフォルトではLaravelはあなたのすべてのルートを routes.php "web"ミドルウェアが適用されているルートグループ内(バージョンが5.2.27以上の場合) RouteServiceProviderappProviders.

それはおそらくLaravelのエラーログに基づいて、どこから始めればよいでしょう。

これは役に立つかもしれません: APIミドルウェアLaravel 5.2.35にルーティングするときにVerifyCsrfTokenは常に呼び出されます


回答№2の場合は0

ただナビゲートする appkernel.php

コメントcsrfがいいね

protected $middlewareGroups = [
"web" => [
AppHttpMiddlewareEncryptCookies::class,
IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
IlluminateSessionMiddlewareStartSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,
//  AppHttpMiddlewareVerifyCsrfToken::class,
],

"api" => [
"throttle:60,1",
],
];

あなたがAPIを構築しているならあなたはCSF保護を必要としません