laravelでUpdate,destroyを行う時、送信形式を「form-data」にしていると、
php artisan route:listで表示されているルーティングには、
$ php artisan route:list
PUT|PATCH | api/user/{app_user} | user.update | App\Http\Controllers\UserController@update | api
このようにHTTPメソッドは、「PUT|PATCH」と書かれているが、PostManなどで、PUTリクエストを送信すると、リクエストの中身が取得できない。
(まあ、laravelだけに限らないかもしれないが、、、、)
#原因
送信形式を「form-data」にしていることが原因。
HTMLのformがPUTとPATCHをサポートしていないため,form-dataでPUTやDELETEを送っても中身を取得できない。
#対策
対策は二つ。
1,HTTPメソッドはPostで,bodyパラメーターで、[_method:PUT]を指定する
これは送信形式はform-dataのママでOK
2,内容をjsonで送る
そもそもform-dataでなければいいので、jsonで送信する。
そうすると、PUTやDELETEでも通る
