ハマログ

株式会社イーツー・インフォの社員ブログ

LaravelのFormからPUT / PATCH / DELETEリクエストをおくる

FormからREST APIを呼び出す画面を作成していたのですが、いまのところおそらく、HTMLのFormからPUT/PATCH/DELETEリクエストを送ることができません。
理由は、なぜ html の form は PUT / DELETE をサポートしないのか?が詳しい。

Laravelでは、以下のように記載することでフォームからのGET/POST以外のリクエストをサポートしています。

Laravel >= 5.6

<form action="/foo/bar" method="POST">
    @method('PUT')
</form>

Laravel < 5.5

<form action="/foo/bar" method="POST">
    <input type="hidden" name="_method" value="PUT">
</form>

試してみます

routes/web.php

Route::any('/', 'IndexController@any');

index.blade.php

<form action="/" method="POST">
    @method('PUT')
    @csrf
    <input type="submit">
</form>

IndexController.php

public function any(Request $request)
{
    dd($request->method());
}

結果

PUT

期待通りのうごきになりました。おわり。

DELETEformGETLaravelPATCHPHPPOSTPUTRequest

kaneko tomo   kaneko tomo   2018年4月21日


関連記事

QAエンジニア向けイベントに行ってきました!

どうもーyasuです~ 寒くなりました。コートを用意しないとー まず一つご報告。…

VagrantとAnsibleで仮想環境のCentOS6.5にWordPress環境構築!WebサーバーはNginxですか?(後編)

遂に後編を書くときが来ました。 てるおです。 はいどーも! やることはもう決まっ…

Excelで印刷するときに全シートにプリンタ設定を反映させる方法のページを見つけました

Excelで全シートを選択して両面印刷にしても最初のシートしか両面印刷してもらえ…


← 前の投稿

次の投稿 →