Study
Ktor

Tugas Akhir

Penjelasan

Sekarang saatnya menggabungkan semua yang sudah dipelajari — dari routing sampai konfigurasi — jadi satu REST API utuh. Kamu akan membuat API "Catatan" sederhana yang menggabungkan route(), ContentNegotiation, StatusPages, dan Exposed.

Tugas

Buat object Catatan : Table() dengan kolom id (integer, autoIncrement), judul (varchar 255), dan isi (text). Buat data class CatatanRequest (@Serializable) dengan judul dan isi. Buat route("/catatan") { } dengan get {} (semua catatan via Exposed selectAll), post {} (validasi judul minimal 3 karakter, throw IllegalArgumentException kalau gagal, lalu insert), delete("/{id}") {} (hapus via deleteWhere). Tambahkan install(StatusPages) untuk menangkap IllegalArgumentException jadi respons 400 terstruktur.

Editor Latihan

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

Tips

Kalau bingung mulai dari mana, kerjakan get dan post dulu, cek hasilnya lewat curl/Postman, baru lanjut ke delete dan StatusPages. Program besar selalu lebih mudah kalau dipecah jadi langkah-langkah kecil.