ExpressJS_02_express_api_crud.md

#02expressapi_crud

Opis Proste API w ExpressJS. CRUD oznacza: Create, Read, Update, Delete.

JAVASCRIPTconst express = require("express");

const app = express();
const PORT = 3000;

app.use(express.json());

let produkty = [
  { id: 1, nazwa: "Myszka", cena: 50 },
  { id: 2, nazwa: "Klawiatura", cena: 120 }
];

// READ - pobierz wszystkie produkty
app.get("/produkty", (req, res) => {
  res.json(produkty);
});

// READ - pobierz jeden produkt po id
app.get("/produkty/:id", (req, res) => {
  const id = Number(req.params.id);
  const produkt = produkty.find((p) => p.id === id);

  if (!produkt) {
    return res.status(404).json({ komunikat: "Nie znaleziono produktu" });
  }

  res.json(produkt);
});

// CREATE - dodaj produkt
app.post("/produkty", (req, res) => {
  const nowyProdukt = {
    id: Date.now(),
    nazwa: req.body.nazwa,
    cena: req.body.cena
  };

  produkty.push(nowyProdukt);

  res.status(201).json(nowyProdukt);
});

// UPDATE - edytuj produkt
app.put("/produkty/:id", (req, res) => {
  const id = Number(req.params.id);
  const produkt = produkty.find((p) => p.id === id);

  if (!produkt) {
    return res.status(404).json({ komunikat: "Nie znaleziono produktu" });
  }

  produkt.nazwa = req.body.nazwa;
  produkt.cena = req.body.cena;

  res.json(produkt);
});

// DELETE - usuń produkt
app.delete("/produkty/:id", (req, res) => {
  const id = Number(req.params.id);

  produkty = produkty.filter((p) => p.id !== id);

  res.json({ komunikat: "Usunięto produkt" });
});

app.listen(PORT, () => {
  console.log("Serwer działa na porcie " + PORT);
});