// const express = require("express"); // const bodyParser = require("body-parser"); // const app = express(); // const PORT = 3000; // // Middleware to parse JSON // app.use(bodyParser.json()); // // In-memory data store // let items = []; // let currentId = 1; // // Routes // // CREATE - Add a new item // app.post("/items", (req, res) => { // const { name, description } = req.body; // if (!name) { // return res.status(400).json({ error: "Name is required" }); // } // const newItem = { id: currentId++, name, description }; // items.push(newItem); // res.status(201).json(newItem); // }); // // READ - Get all items // app.get("/items", (req, res) => { // res.json(items); // }); // // READ - Get item by ID // app.get("/items/:id", (req, res) => { // const { id } = req.params; // const item = items.find((i) => i.id === parseInt(id)); // if (!item) { // return res.status(404).json({ error: "Item not found" }); // } // res.json(item); // }); // // UPDATE - Update item by ID // app.put("/items/:id", (req, res) => { // const { id } = req.params; // const { name, description } = req.body; // const item = items.find((i) => i.id === parseInt(id)); // if (!item) { // return res.status(404).json({ error: "Item not found" }); // } // if (name) item.name = name; // if (description) item.description = description; // res.json(item); // }); // // DELETE - Remove item by ID // app.delete("/items/:id", (req, res) => { // const { id } = req.params; // const itemIndex = items.findIndex((i) => i.id === parseInt(id)); // if (itemIndex === -1) { // return res.status(404).json({ error: "Item not found" }); // } // items.splice(itemIndex, 1); // res.status(204).send(); // }); // // Start server // app.listen(PORT, () => { // console.log(`Server is running on http://localhost:${PORT}`); // }); const express = require("express"); const bodyParser = require("body-parser"); const app = express(); // Middleware to parse JSON app.use(bodyParser.json()); // In-memory data store with initial items let items = [ { id: 1, name: "Item 1", description: "This is the first item." }, { id: 2, name: "Item 2", description: "This is the second item." }, { id: 3, name: "Item 3", description: "This is the third item." }, ]; let currentId = 4; // Next ID will start from 4 // Routes // CREATE - Add a new item app.post("/items", (req, res) => { const { name, description } = req.body; if (!name) { return res.status(400).json({ error: "Name is required" }); } const newItem = { id: currentId++, name, description }; items.push(newItem); res.status(201).json(newItem); }); // READ - Get all items app.get("/items", (req, res) => { res.json(items); }); // READ - Get item by ID app.get("/items/:id", (req, res) => { const { id } = req.params; const item = items.find((i) => i.id === parseInt(id)); if (!item) { return res.status(404).json({ error: "Item not found" }); } res.json(item); }); // UPDATE - Update item by ID app.put("/items/:id", (req, res) => { const { id } = req.params; const { name, description } = req.body; const item = items.find((i) => i.id === parseInt(id)); if (!item) { return res.status(404).json({ error: "Item not found" }); } if (name) item.name = name; if (description) item.description = description; res.json(item); }); // DELETE - Remove item by ID app.delete("/items/:id", (req, res) => { const { id } = req.params; const itemIndex = items.findIndex((i) => i.id === parseInt(id)); if (itemIndex === -1) { return res.status(404).json({ error: "Item not found" }); } items.splice(itemIndex, 1); res.status(204).send(); }); // Start server const PORT = 8080; app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); });