問題
Postman を使ってアップロード機能を試そうと思ったが...
419 エラーが出て動かせなかった...
解決方法
Laravel の 419 エラーは CSRFトークン が原因のことが多い。
最近は自動的にトークンが埋め込まれるので、存在をすっかり忘れていた...
web.php
にルートを記載したため、まさにこれが原因。
フロントエンドから利用するときは特に問題にならない。
そのため、CSRFトークンを一時的に無効にすることにする。
bootstrap/app.php
の middleware にメソッドが用意されている。
ここに、無効にするURLを書き込む。
*
を利用しても良い。
bootstrap/app.php
return Application::configure(basePath: dirname(__DIR__))
->withMiddleware(function (Middleware $middleware) {
// ...
+ $middleware->validateCsrfTokens(except: [
+ 'file/*',
+ ]);
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
解決!
おわりに
Lara11 になってから、Middleware が隠匿されたおかげで、設定変えようとしてもどこに書いていいか分からない...
新規には分かりやすくなったかもだけど、隠し機能みたいになってる。
参考: