RESTful API अंतिम-बिंदुओं का डिज़ाइन
REST के मूल सिद्धांत सीखिए और विभिन्न संसाधनों के लिए स्वच्छ तथा कुशल API अंतिम-बिंदु डिज़ाइन कीजिए।
RESTful API अंतिम-बिंदुओं का डिज़ाइन, CoddyKit पर Node.js बैकएंड विकास बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Node.js बैकएंड विकास बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
RESTful API का परिचय
स्वागत है! इस पाठ में हम REST सिद्धांतों का पालन करने वाले सुव्यवस्थित और प्रभावी API एंडपॉइंट डिज़ाइन करना सीखेंगे। स्केलेबल वेब सेवाएँ बनाने के लिए REST को समझना बहुत महत्वपूर्ण है।
REST का अर्थ Representational State Transfer है। यह नेटवर्क पर आधारित एप्लिकेशन के लिए एक आर्किटेक्चरल शैली है, जिसमें स्टेटलेस क्लाइंट-सर्वर संचार पर ज़ोर दिया जाता है।
रिसोर्स: REST के संज्ञा रूप
REST के केंद्र में रिसोर्स होते हैं। रिसोर्स को ऐसी किसी भी जानकारी या डेटा के रूप में समझें जिसे आपका API उपलब्ध करा या बदल सकता है। ये वे 'चीज़ें' हैं जिन्हें आपका API प्रबंधित करता है।
- किसी रिसोर्स की पहचान एक विशिष्ट URL (Uniform Resource Locator) से होती है।
- इन्हें आमतौर पर संज्ञाओं से दर्शाया जाता है, जैसे
users,productsयाorders। - रिसोर्स के संग्रह के लिए आदर्श रूप से बहुवचन संज्ञाओं का उपयोग करें।
HTTP विधियों से क्रियाएँ
रिसोर्स संज्ञाएँ होते हैं, जबकि उन पर की जाने वाली क्रियाएँ मानक HTTP विधियों (जिन्हें क्रिया-शब्द भी कहा जाता है) से दर्शाई जाती हैं। ये विधियाँ सामान्य डेटा संचालनों से सीधे संबंधित होती हैं:
- GET: डेटा प्राप्त करना (पढ़ना)
- POST: नया डेटा बनाना (बनाना)
- PUT: मौजूदा डेटा को बदलना (सब अपडेट करना)
- PATCH: मौजूदा डेटा को आंशिक रूप से अपडेट करना (आंशिक अपडेट)
- DELETE: डेटा हटाना (हटाना)
अपने API एंडपॉइंट की संरचना
अच्छी तरह डिज़ाइन किया गया एंडपॉइंट URL सहज और अनुमान लगाने योग्य होना चाहिए। यह आमतौर पर इस पैटर्न का पालन करता है:
/api/<version>/<resource_name>भविष्य में API में होने वाले बदलावों के लिए संस्करण, जैसे v1, का उपयोग करना अच्छी प्रथा है। रिसोर्स के नामों के लिए हमेशा बहुवचन संज्ञाओं का उपयोग करें।
- अच्छा:
/api/v1/users - खराब:
/api/v1/getUsers
संग्रह और आइटम URL
REST API रिसोर्स के संग्रह और उस संग्रह के भीतर मौजूद किसी एक रिसोर्स के बीच अंतर करते हैं:
- संग्रह URL: रिसोर्स के समूह को दर्शाता है। उदाहरण:
/users(सभी उपयोगकर्ता)। - आइटम URL: किसी विशेष रिसोर्स को दर्शाता है। उदाहरण:
/users/123(ID 123 वाला उपयोगकर्ता)।
ID (:id in Express) उस विशेष रिसोर्स की विशिष्ट पहचान होती है।
स्टेटस कोड से संवाद
HTTP के स्टेटस कोड आपके API के लिए अनुरोध के परिणाम को क्लाइंट तक पहुँचाने में महत्वपूर्ण होते हैं। वे क्लाइंट को बताते हैं कि अनुरोध सफल हुआ या नहीं, कोई त्रुटि हुई या नहीं, और उसका कारण क्या है।
- 200 OK: अनुरोध सफल रहा।
- 201 Created: रिसोर्स सफलतापूर्वक बनाया गया।
- 204 No Content: अनुरोध सफल रहा, लेकिन लौटाने के लिए कोई सामग्री नहीं है, जैसे DELETE में।
- 400 Bad Request: क्लाइंट ने अमान्य डेटा भेजा।
- 404 Not Found: रिसोर्स नहीं मिला।
- 500 Internal Server Error: सर्वर-पक्ष की त्रुटि।
उपयोगकर्ता API एंडपॉइंट डिज़ाइन
आइए User रिसोर्स के लिए एंडपॉइंट डिज़ाइन करें। ध्यान दें कि HTTP विधियाँ और URL मिलकर क्रियाओं का वर्णन कैसे करते हैं।
रूट को कार्य करते हुए देखने के लिए इस उदाहरण को चलाकर देखें:
const express = require('express');
const app = express();
const port = 3000;
// Get all users
app.get('/api/v1/users', (req, res) => {
res.status(200).send('GET /api/v1/users: Retrieve all users');
});
// Create a new user
app.post('/api/v1/users', (req, res) => {
res.status(201).send('POST /api/v1/users: Create a new user');
});
// Get a specific user by ID
app.get('/api/v1/users/:id', (req, res) => {
res.status(200).send(`GET /api/v1/users/${req.params.id}: Retrieve user ${req.params.id}`);
});
// Update a specific user by ID
app.put('/api/v1/users/:id', (req, res) => {
res.status(200).send(`PUT /api/v1/users/${req.params.id}: Update user ${req.params.id}`);
});
// Delete a specific user by ID
app.delete('/api/v1/users/:id', (req, res) => {
res.status(204).send(`DELETE /api/v1/users/${req.params.id}: Delete user ${req.params.id}`);
});
app.listen(port, () => {
console.log(`User API running on http://localhost:${port}`);
});उत्पाद API एंडपॉइंट डिज़ाइन
यहाँ Product रिसोर्स का एक और उदाहरण है। पैटर्न एकसमान रहते हैं, जिससे आपका API डेवलपर के लिए समझना और उपयोग करना आसान हो जाता है।
उत्पाद-केंद्रित API देखने के लिए यह कोड चलाएँ:
const express = require('express');
const app = express();
const port = 3001; // Using a different port
// Get all products
app.get('/api/v1/products', (req, res) => {
res.status(200).send('GET /api/v1/products: Retrieve all products');
});
// Create a new product
app.post('/api/v1/products', (req, res) => {
res.status(201).send('POST /api/v1/products: Create a new product');
});
// Get a specific product by ID
app.get('/api/v1/products/:id', (req, res) => {
res.status(200).send(`GET /api/v1/products/${req.params.id}: Retrieve product ${req.params.id}`);
});
// Delete a specific product by ID
app.delete('/api/v1/products/:id', (req, res) => {
res.status(204).send(`DELETE /api/v1/products/${req.params.id}: Delete product ${req.params.id}`);
});
app.listen(port, () => {
console.log(`Product API running on http://localhost:${port}`);
});स्वच्छ URL की सर्वोत्तम प्रथाएँ
अपने API को उपयोगकर्ता-अनुकूल और आसानी से बनाए रखने योग्य बनाने के लिए इन सर्वोत्तम प्रथाओं का पालन करें:
- बहुवचन संज्ञाओं का उपयोग करें: संग्रहों के लिए, जैसे
/products, न कि/product। - URL में क्रिया-शब्दों से बचें: क्रियाओं को परिभाषित करने का काम HTTP विधियों को करने दें, जैसे
POST /users, न कि/createUser। - हाइफ़न का उपयोग करें: कई शब्दों वाले रिसोर्स नामों को पढ़ने में आसान बनाने के लिए, जैसे
/order-items। - URL सरल रखें: बहुत गहरी नेस्टिंग से बचें; फ़िल्टर करने और क्रमबद्ध करने के लिए क्वेरी पैरामीटर का उपयोग किया जा सकता है।
REST की अपनी समझ परखें
नया उत्पाद बनाने और किसी विशेष उत्पाद को प्राप्त करने के लिए निम्नलिखित में से कौन-सा एंडपॉइंट डिज़ाइन RESTful सिद्धांतों का सही पालन करता है?
पुनरावलोकन: RESTful एंडपॉइंट डिज़ाइन करना
बहुत अच्छा! आपने RESTful API एंडपॉइंट डिज़ाइन करने की मूल बातें सीख ली हैं। इन मुख्य बातों को याद रखें:
- रिसोर्स संज्ञाएँ होते हैं और URL से पहचाने जाते हैं।
- HTTP विधियाँ (GET, POST, PUT, DELETE) क्रियाओं को परिभाषित करती हैं।
- संग्रहों के लिए बहुवचन संज्ञाओं और आइटम के लिए विशिष्ट ID का उपयोग करें।
- उचित HTTP स्टेटस कोड का उपयोग करके परिणामों की जानकारी दें।
- उपयोगकर्ता-अनुकूल API के लिए स्वच्छ और अनुमान लगाने योग्य URL बनाने का प्रयास करें।
यह आधार आपको मज़बूत और सहज API बनाने में सहायता करेगा!
एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 22
- पाठ
- 92
अक्सर पूछे जाने वाले प्रश्न
क्या “RESTful API अंतिम-बिंदुओं का डिज़ाइन” पाठ निःशुल्क है?
हाँ—“RESTful API अंतिम-बिंदुओं का डिज़ाइन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“RESTful API अंतिम-बिंदुओं का डिज़ाइन” में मैं क्या सीखूँगा?
REST के मूल सिद्धांत सीखिए और विभिन्न संसाधनों के लिए स्वच्छ तथा कुशल API अंतिम-बिंदु डिज़ाइन कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Node.js बैकएंड विकास बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Node.js बैकएंड विकास बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Node.js बैकएंड विकास बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“RESTful API अंतिम-बिंदुओं का डिज़ाइन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Node.js बैकएंड विकास बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Node.js बैकएंड विकास बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Express.js फ़्रेमवर्क की मूल बातें
- Express में रूटिंग और मिडलवेयर
- RESTful API अंतिम-बिंदुओं का डिज़ाइन
- अनुरोध डेटा संभालना: बॉडी, क्वेरी और पैरामीटर