Study
Flask

Tugas Akhir

Penjelasan

Saatnya menggabungkan semua yang sudah dipelajari — routing, Flask-SQLAlchemy, blueprints, error handling, dan jsonify — menjadi satu aplikasi utuh: REST API Catatan (notes app). Aplikasi ini akan punya model Catatan dengan kolom judul dan isi, endpoint API untuk CRUD lengkap (Create, Read, Update, Delete), error handling yang rapi untuk catatan yang tidak ditemukan, dan struktur kode yang dipecah dengan blueprint supaya tidak menumpuk di satu file. Ini adalah pola dasar yang hampir selalu muncul di proyek Flask nyata: API kecil yang terhubung ke database.

Tugas

Bangun REST API Catatan dengan model SQLAlchemy (id, judul, isi), lalu buat 4 endpoint dalam satu blueprint 'catatan_bp' dengan url_prefix '/api/catatan': GET '/' (daftar semua catatan sebagai JSON), POST '/' (tambah catatan baru dari JSON body, kembalikan status 201), GET '/<int:id>' (detail satu catatan, kembalikan 404 dengan pesan JSON kalau tidak ada), dan DELETE '/<int:id>' (hapus catatan, kembalikan status 200). Gunakan abort(404) atau return tuple (jsonify(...), 404) untuk catatan yang tidak ditemukan, dan pastikan endpoint POST memvalidasi bahwa field 'judul' tidak kosong sebelum menyimpan.

Editor Latihan

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

Tips

Kerjakan bertahap: pastikan model dan migrasi jalan dulu lewat Python shell sebelum menyambungkannya ke endpoint. Test tiap endpoint satu per satu dengan curl atau Postman sebelum lanjut ke endpoint berikutnya — jauh lebih mudah men-debug satu potongan kecil daripada satu aplikasi besar sekaligus.