[Laravel]APIのPUTメソッドにてFormRequestから値が取れない問題の対処方法
はじめに

LaravelにてPUTメソッドを使用したAPIを作成時にFormRequestに値が渡ってこなかったときの対処方法です。

URL的には/{id}/hogehogeのようにしておりコントローラー側でも引数にRequest $requestとint $idを指定しており、URL中のidは取得できるにもかかわらず、$requestにはデータが全く渡ってこなかったです。

対処方法

該当APIがPOSTメソッドでもよければPOSTメソッドに変更して下さい。
もしPUTメソッドを使いたい場合は、リクエストに _method = 'put'を含めてください。

上記はJavascriptの例です。JSONで送るなら{ '_method': 'put' }になりますね。
blade上でformのメソッドはPOSTにしてform内に@method('put')と書くのと同じ理屈見たいです。

以上です。

おすすめの記事