GET/POST/PUT/DELETE का उपयोग
हर HTTP method आपके data के लिए एक create, read, update, या delete action में map होता है।
In this page:
Syntax
app.get('/resources', (req, res) => res.json(items));
app.post('/resources', (req, res) => { /* create */ });
app.put('/resources/:id', (req, res) => { /* replace */ });
app.delete('/resources/:id', (req, res) => { /* remove */ });
GET/POST/PUT/DELETE
Handlers implement करें जो एक in-memory या database store पढ़ें या बदलें। GET 200 return करता है, POST नए item के साथ 201 return करता है, PUT replace करता है, और DELETE 204 return करता है। Input validate करें और एक id exist न करने पर 404 return करें।
Note:
POST से created resource और एक Location header return करें।
उदाहरण: GET/POST/PUT/DELETE
const http = require("http");
let nextId = 1; const db = new Map();
const server = http.createServer((req, res) => {
const id = Number(req.url.split("/")[2]);
let body = ""; req.on("data", (c) => (body += c));
req.on("end", () => {
const send = (s, d) => { res.writeHead(s, { "Content-Type": "application/json" }); res.end(d === undefined ? "" : JSON.stringify(d)); };
if (req.method === "POST") { const item = { id: nextId++, ...JSON.parse(body) }; db.set(item.id, item); return send(201, item); }
if (req.method === "GET") return db.has(id) ? send(200, db.get(id)) : send(404, { error: "not found" });
if (req.method === "PUT") { db.set(id, { id, ...JSON.parse(body) }); return send(200, db.get(id)); }
if (req.method === "DELETE") { db.delete(id); return send(204); }
});
});
server.listen(0, async () => {
const base = "http://localhost:" + server.address().port + "/items";
const post = await fetch(base, { method: "POST", body: JSON.stringify({ name: "pen" }) });
console.log(post.status, await post.json());
console.log((await fetch(base + "/1")).status);
console.log((await fetch(base + "/1", { method: "DELETE" })).status);
console.log((await fetch(base + "/1")).status);
server.close();
});
// Output:
// 201 { id: 1, name: 'pen' }
// 200
// 204
// 404
⚠️ Run this in your own terminal or Node.js environment.
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- created items के लिए 200 return करना
- input validate न करना
- missing ids के लिए 404 भूल जाना
चैप्टर सारांश
- GET 200 देता है, POST 201 देता है
- PUT replace करता है, DELETE 204
- Input validate करें
- Unknown ids के लिए 404 return करें
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: