JSON API Response
Penjelasan
Untuk membangun API, Genie punya modul `Genie.Renderer.Json` dengan fungsi `json()` yang otomatis mengonversi struct atau Dict Julia menjadi response JSON lengkap dengan header `Content-Type: application/json`. Ini membuat Genie cocok dipakai sebagai backend API murni, tanpa harus merender HTML sama sekali. Karena Julia punya sistem tipe yang kuat, struct kustom bisa langsung diserialisasi ke JSON asal field-fieldnya berupa tipe yang bisa direpresentasikan (String, Int, Float, Vector, Dict, dsb), sangat memudahkan saat mengembalikan data hasil komputasi numerik ke frontend.
Contoh Konsep
using Genie.Router
using Genie.Renderer.Json
struct Produk
id::Int
nama::String
harga::Float64
end
route("/api/produk") do
produk = [Produk(1, "Kopi", 25000.0), Produk(2, "Teh", 15000.0)]
json(produk)
end
route("/api/status") do
json(Dict("status" => "ok", "waktu" => string(now())))
end
Praktikum
Buat endpoint "/api/statistik" yang mengembalikan Dict berisi hasil perhitungan sederhana (rata-rata dari sebuah array angka) dalam format JSON.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Gunakan struct kustom untuk bentuk data yang jelas dan berulang, dibanding Dict lepas, supaya field API lebih konsisten dan gampang divalidasi tipenya.