परिचय: REST API सरल है
\nREST API (Representational State Transfer) वह "भाषा" है जिसमें इंटरनेट पर विभिन्न प्रोग्राम आपस में बात करते हैं। यदि आप चाहते हैं कि आपका वेब एप्लिकेशन किसी अन्य एप्लिकेशन (जैसे, मोबाइल क्लाइंट या React फ्रंटएंड) को डेटा दे, तो आपको API की आवश्यकता है। और आज हम इसे JavaScript (Node.js) पर स्क्रैच से सिर्फ 30 मिनट में लिखेंगे।
\nहम सबसे लोकप्रिय लाइब्रेरी — Express का उपयोग करेंगे। यह सरल, लचीली है और शुरुआती लोगों के लिए एकदम सही है। लेख के अंत तक, आपके पास चार मुख्य CRUD ऑपरेशनों (बनाना, पढ़ना, अपडेट करना, हटाना) के साथ एक कार्यशील सर्वर होगा। चलिए शुरू करते हैं!
\n\nचरण 1: वातावरण तैयार करना और Express स्थापित करना
\nकोड लिखने से पहले, सुनिश्चित करें कि आपके पास Node.js स्थापित है। इसे टर्मिनल में जांचा जा सकता है:
\nnode -v\nnpm -v\nयदि वर्ज़न दिखाई देते हैं — सब कुछ तैयार है। यदि नहीं, तो आधिकारिक वेबसाइट से Node.js डाउनलोड करें।
\nअब प्रोजेक्ट के लिए एक फ़ोल्डर बनाएं और इसे इनिशियलाइज़ करें:
\nmkdir my-first-api\ncd my-first-api\nnpm init -y\nफ़ाइल package.json बन गई है। Express और UUID (यूनिक आईडी जनरेट करने के लिए) लाइब्रेरी स्थापित करें:
npm install express uuid\nतैयार है। फ़ाइल index.js बनाएं — यह हमारे सर्वर की मुख्य फ़ाइल होगी।
चरण 2: Express पर एक सरल सर्वर बनाना
\nindex.js खोलें और सर्वर का पहला वर्ज़न लिखें:
const express = require('express');\nconst app = express();\nconst PORT = 3000;\n\n// अनुरोध के बॉडी से JSON पार्स करना\napp.use(express.json());\n\n// टेस्ट रूट\napp.get('/', (req, res) => {\n res.send('नमस्ते, दुनिया! REST API काम कर रहा है!');\n});\n\n// सर्वर शुरू करना\napp.listen(PORT, () => {\n console.log(`सर्वर http://localhost:${PORT} पर शुरू हुआ`);\n});\nसर्वर को कमांड से चलाएं:
\nnode index.js\nब्राउज़र खोलें और पते http://localhost:3000 पर जाएं। यदि आप स्वागत संदेश देखते हैं — सब कुछ काम कर रहा है!
कोड को समझें: express.json() एक middleware है जो अनुरोध से JSON को स्वचालित रूप से JavaScript ऑब्जेक्ट में बदल देता है। यह POST और PUT अनुरोधों के लिए आवश्यक है।
चरण 3: डेटा और CRUD रूट जोड़ना
\nअब सबसे दिलचस्प हिस्सा — डेटा के साथ एक ऐरे बनाएं (वास्तविक प्रोजेक्ट में आप डेटाबेस का उपयोग करेंगे, लेकिन सीखने के लिए ऐरे काफी है)। यह पुस्तकों की सूची होगी।
\nconst { v4: uuidv4 } = require('uuid');\n\n// डेटाबेस का अनुकरण\nlet books = [];\n\n// पुस्तक बनाना (POST)\napp.post('/api/books', (req, res) => {\n const { title, author } = req.body;\n if (!title || !author) {\n return res.status(400).json({ error: 'title और author प्रदान करना आवश्यक है' });\n }\n const newBook = {\n id: uuidv4(),\n title,\n author\n };\n books.push(newBook);\n res.status(201).json(newBook);\n});\n\n// सभी पुस्तकें प्राप्त करना (GET)\napp.get('/api/books', (req, res) => {\n res.json(books);\n});\n\n// ID द्वारा एक पुस्तक प्राप्त करना (GET)\napp.get('/api/books/:id', (req, res) => {\n const book = books.find(b => b.id === req.params.id);\n if (!book) {\n return res.status(404).json({ error: 'पुस्तक नहीं मिली' });\n }\n res.json(book);\n});\n\n// पुस्तक अपडेट करना (PUT)\napp.put('/api/books/:id', (req, res) => {\n const book = books.find(b => b.id === req.params.id);\n if (!book) {\n return res.status(404).json({ error: 'पुस्तक नहीं मिली' });\n }\n const { title, author } = req.body;\n if (title) book.title = title;\n if (author) book.author = author;\n res.json(book);\n});\n\n// पुस्तक हटाना (DELETE)\napp.delete('/api/books/:id', (req, res) => {\n const index = books.findIndex(b => b.id === req.params.id);\n if (index === -1) {\n return res.status(404).json({ error: 'पुस्तक नहीं मिली' });\n }\n books.splice(index, 1);\n res.status(204