3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【そこ?】The GET method is not supported for this route. Supported methods: POST.

Posted at

Laravel8

Laravel初心者が下記のエラーで困って意外なところで解決した話。

The GET method is not supported for this route. Supported methods: POST.

ま~さすがに初心者と言えど、

web.php
Route::post('/post', [App\Http\Controllers\PostController::class, 'store'])->name('post.store');
Route::post('/confirm', [App\Http\Controllers\PostController::class, 'confirm'])->name('post.confirm');

のpostをgetで書いてました。。なんてことはないっすよ。。さすがに。。

confirm.blade.php

  <form id="formForm" action="{{ route('post.store') }}" method="post"...

Googleで調べても出てくることは出てくるけどいまいち解決しない。。

よしもとの感想としては、「ちゃんとPOSTにしてるってば!!」ってな感じ。。

PostController.php
   function confirm(PostRequest $request)
    {

調子こいてValidationを上みたいにPostRequestにしてたからかな~と思ってもとのRequestに戻してみたりしたけどあかん。。

ひたすら、
The GET method is not supported for this route. Supported methods: POST.
からの
C:....\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php:117
の一点張り。。。

まじで「ちゃんとPOSTにしてるから処理を進めろってば!」と思ってハマってたところ、
ふと下の方の一文が気になった。

PostController.php
   .....
    return back();

そしてふとおもた。
もしかして「帰ったらまずいのか?(  ̄− ̄) 」

今回はこれが正解やった。

PostController.php
   .....
    //return back();
    return view('welcome');

とかやったらサクっと解決した。。。

つまり、

The GET method is not supported for this route. Supported methods: POST.
てっきり処理の最初で止められてると思い込んでたけど
本当に止められていたのは処理の最後だった。。

という話。思い込みって怖いな~。。
文からすると最初で門前払い食らってるように見えるんやけどな~。。。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?