Cara Mengatasi Error “The GET method is not supported for route” di Laravel

Cara mengatasi error The GET method is not supported for route di Laravel karena route POST dibuka menggunakan browser atau link GET.

laravel get method not supported route method error laravel laravel routing error route post dibuka get

📂 Laravel | ✍ Kurnia Andi Nugroho | 🎯 Beginner ✅ Telah dilihat 38 kali

Cara Mengatasi Error “The GET method is not supported for route” di Laravel

Problem

Error ini muncul ketika route Laravel hanya menerima method tertentu (misalnya POST), tetapi Anda mengaksesnya menggunakan GET dari browser atau link.

Contoh route:

Route::post('/checkout', [CheckoutController::class, 'store']);

Namun ketika membukanya lewat URL:

http://127.0.0.1:8000/checkout

Maka Laravel akan menampilkan:

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

Solution

Pastikan method route sesuai dengan cara akses.

Jika route memang untuk halaman, gunakan GET:

Route::get('/checkout', [CheckoutController::class, 'index']);

Jika route untuk submit form, pastikan form memakai POST:

<form action="/checkout" method="POST">
    @csrf
    <button type="submit">Checkout</button>
</form>

Jika butuh dua method:

Route::match(['get', 'post'], '/checkout', [CheckoutController::class, 'index']);