Sequence NODE_242
MediumCreate JSON CRUD Endpoints for In-Memory Items
Express.js
Node.js
Technical Specification
Build /items endpoints: GET all, GET by id, POST create, PUT update, DELETE remove using an in-memory array.
Input/Output Samples
Input:POST /items {name:'Pen'}
Output:201 + created item with id
Optimal Logic Path
const express = require("express");
const app = express();
app.use(express.json());
let items = [];
let nextId = 1;
app.get("/items", (req, res) => {
res.json(items);
});
app.get("/items/:id", (req, res) => {
const item = items.find((i) => i.id === Number(req.params.id));
if (!item) return res.status(404).json({ error: "Not found" });
res.json(item);
});
app.post("/items", (req, res) => {
const item = { id: nextId++, name: req.body.name };
items.push(item);
res.status(201).json(item);
});
app.put("/items/:id", (req, res) => {
const item = items.find((i) => i.id === Number(req.params.id));
if (!item) return res.status(404).json({ error: "Not found" });
item.name = req.body.name;
res.json(item);
});
app.delete("/items/:id", (req, res) => {
items = items.filter((i) => i.id !== Number(req.params.id));
res.status(204).end();
});Architectural Deep-Dive
We use express.json for body parsing and implement RESTful handlers with appropriate methods and status codes.