Study
Genie

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.

Editor Latihan

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.