Larapak
Ctrl K

Mendefinisikan Rute HTTP

Semua rute web didefinisikan di dalam file dalan/web.ngpk. Router Larapak mendukung seluruh metode HTTP standar:

# dalan/web.ngpk

# Rute HTTP GET dasar
rute.get("/", "HomeController@index")
rute.get("/tentang", "HomeController@tentang")

# Rute dengan aksi Controller
rute.get("/produk", "ProdukController@index")
rute.post("/produk", "ProdukController@simpan")
rute.put("/produk/{id}", "ProdukController@update")
rute.delete("/produk/{id}", "ProdukController@hapus")

Parameter Rute Dinamis

Anda dapat menangkap segmen URL menggunakan kurung kurawal {nama_parameter}:

# Menangkap parameter tunggal
rute.get("/dok/{slug}", "HomeController@bab")

# Menangkap beberapa parameter
rute.get("/artikel/{kategori}/{id}", "ArtikelController@detail")

Di dalam controller, parameter ini dapat dibaca langsung melalui objek req.params:

gawe bab(req, res)
    slug = req.params["slug"]
    balekna res.view("dok/" + slug, ["slug": slug])
rampung

HTTP Method Spoofing

Karena formulir standar HTML tidak mendukung metode PUT, PATCH, atau DELETE, Larapak menyediakan fitur Method Spoofing melalui field tersembunyi _method atau header HTTP X-HTTP-Method-Override:

<form action="/produk/42" method="POST">
    @csrf
    <input type="hidden" name="_method" value="PUT">
    
    <label>Nama Produk:</label>
    <input type="text" name="nama" value="Kaos Ngapak">
    <button type="submit">Perbarui Data</button>
</form>

Inspeksi Rute Melalui Baris Perintah (CLI)

Anda dapat melihat daftar seluruh pemetaan rute HTTP, method, aksi controller, dan middleware yang aktif langsung di terminal:

# Dialek Ngapak Asli
ngapakin dalan:daptar

# Atau menggunakan alias standar
ngapakin route:list

Contoh keluaran di terminal:

Method   | Path                           | Action                         | Middleware          
------------------------------------------------------------------------------------------------
GET      | /                              | HomeController@index           | None                
GET      | /dok/{slug}                    | HomeController@bab             | None                
POST     | /api/produk                    | ProdukController@simpan        | csrf                
GET      | /api-studio                    | StudioController@index         | None
Eksplorasi Rute Interaktif: Buka Larapak Route & API Studio (/api-studio) untuk melihat seluruh daftar rute aplikasi, parameter, dan melakukan simulasi request secara langsung!