Response Methods
Penjelasan
Express punya beberapa method untuk mengirim response: res.send() (teks/HTML biasa), res.json() (otomatis set header Content-Type jadi application/json dan serialize objek/array jadi JSON), dan res.status(kode) yang bisa dirangkai (chained) dengan method lain untuk mengatur HTTP status code.
Contoh Konsep
app.get('/teks', (req, res) => {
res.send('Ini teks biasa');
});
app.get('/json', (req, res) => {
res.json({ nama: 'Kaos CompileDaily', harga: 99000 });
});
app.get('/tidak-ditemukan', (req, res) => {
res.status(404).json({ error: 'Data tidak ditemukan' });
});
Praktikum
Buat route GET /produk/:id yang merespons res.status(404).json({error: 'Produk tidak ditemukan'}) kalau req.params.id sama dengan '999', atau res.json({id: req.params.id, nama: 'Produk Contoh'}) untuk id lainnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
res.status(kode) HARUS dipanggil SEBELUM res.json()/res.send() dalam rangkaian chain (res.status(404).json(...)), bukan sesudahnya — kalau dipanggil terpisah setelah res.json() sudah dikirim, Express akan error "Cannot set headers after they are sent".