Study
Play Framework

Routing Dasar & Parameter Dinamis (conf/routes)

Penjelasan

File `conf/routes` adalah tempat semua pemetaan URL didefinisikan, dengan format satu baris per route: HTTP method, path, lalu pemanggilan method controller. Play membaca file ini saat compile time dan menghasilkan kode routing yang type-safe — kesalahan penulisan route (misalnya controller yang tidak ada) langsung ketahuan saat kompilasi, bukan saat runtime. Parameter dinamis ditangkap langsung di path dengan sintaks `:namaParam`, dan Play otomatis mem-parsing tipenya sesuai signature method controller (String, Int, Long, dll). Untuk parameter yang boleh mengandung slash (`/`), dipakai sintaks `*namaParam` yang menangkap sisa path apa adanya.

Contoh Konsep

# conf/routes
GET     /                           controllers.HomeController.index()
GET     /produk                    controllers.ProdukController.daftar()
GET     /produk/:id                controllers.ProdukController.detail(id: Long)
GET     /kategori/:nama/produk     controllers.ProdukController.perKategori(nama: String)
GET     /file/*path                controllers.AssetController.serve(path: String)

Praktikum

Tuliskan route untuk GET /artikel/:slug yang memanggil ArtikelController.tampil dengan parameter slug bertipe String.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Urutkan route dari yang paling spesifik ke paling umum — Play mencocokkan route dari atas ke bawah, jadi route umum yang diletakkan di atas bisa "menelan" request yang seharusnya ditangani route spesifik di bawahnya.