Routing
Semua rute API didefinisikan dalam rute/api.ns — file yang dimuat setelah kontroler didaftarkan.
Struktur rute/api.ns
rute/api.ns
// rute/api.ns — Definisi semua rute API
// ─── Rute Status (publik) ─────────────────────────────────
tambah_rute(app, "GET", "/", fungsi(req) {
kembalikan resp_ok({"versi": VERSI_APP, "status": "aktif"}, "OK")
})
// ─── Auth (publik) ────────────────────────────────────────
tambah_rute(app, "POST", "/api/auth/daftar", aksi_daftar)
tambah_rute(app, "POST", "/api/auth/masuk", aksi_masuk)
// ─── Profil (butuh login) ─────────────────────────────────
tambah_rute(app, "GET", "/api/auth/profil", aksi_profil)
// ─── CRUD Pengguna (butuh admin) ──────────────────────────
tambah_rute(app, "GET", "/api/pengguna", aksi_pengguna_semua)
tambah_rute(app, "POST", "/api/pengguna", aksi_pengguna_simpan)
tambah_rute(app, "PUT", "/api/pengguna", aksi_pengguna_perbarui)
tambah_rute(app, "DELETE", "/api/pengguna", aksi_pengguna_hapus)
// ─── CRUD Produk ──────────────────────────────────────────
tambah_rute(app, "GET", "/api/produk", aksi_produk_semua)
tambah_rute(app, "POST", "/api/produk", aksi_produk_simpan)
tambah_rute(app, "PUT", "/api/produk", aksi_produk_perbarui)
tambah_rute(app, "DELETE", "/api/produk", aksi_produk_hapus)
Parameter Rute
| Parameter | Tipe | Deskripsi |
|---|---|---|
app | ObjekServer | Instance server yang dibuat dengan server_baru(port) |
"GET" | Teks | Metode HTTP: GET, POST, PUT, DELETE, PATCH |
"/api/path" | Teks | Path URL endpoint |
aksi_nama | Fungsi | Fungsi handler dari kontroler |
Query Parameters
Membaca query param ?kategori=laptop
// GET /api/produk?kategori=laptop&halaman=2
tambah_rute(app, "GET", "/api/produk", fungsi(req) {
buat kategori = param_query(req, "kategori") // "laptop"
buat halaman = param_query(req, "halaman") // "2"
buat kunci = param_query(req, "q") // "" jika tidak ada
tampilkan("Filter kategori:", kategori)
})