apipayload4/index.js
2024-12-18 16:55:17 +05:30

162 lines
3.8 KiB
JavaScript

// 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}`);
});