Query Database dari API — API

API yang nyata menyimpan dan mengambil data dari database, bukan hardcoded. Pola umum: Route → Handler → Query → Response app.get("/products", (req, res) => { /

API yang nyata menyimpan dan mengambil data dari database, bukan hardcoded.

Pola umum: Route → Handler → Query → Response

app.get("/products", (req, res) => {
  // 1. Terima request
  const { category, sort } = req.query;

  // 2. Build query
  let sql = "SELECT * FROM products";
  const params = [];

  if (category) {
    sql += " WHERE category = ?";
    params.push(category);
  }

  if (sort === "price") {
    sql += " ORDER BY price ASC";
  }

  // 3. Execute query
  const products = db.prepare(sql).all(...params);

  // 4. Return response
  res.json({ data: products, total: products.length });
});

Parameterized queries (WAJIB):

// BAHAYA — SQL Injection
const sql = "SELECT * FROM users WHERE name = " + name;

// AMAN — Parameterized
const sql = "SELECT * FROM users WHERE name = ?";
db.prepare(sql).get(name);

Tips:

Yang akan kamu pelajari