Node.js बैकएंड विकास बूटकैंप · पाठ

Express में रूटिंग और मिडलवेयर

API अंतिम-बिंदु परिभाषित करने के लिए Express रूटिंग में दक्षता प्राप्त कीजिए और अनुरोध-प्रसंस्करण हेतु मिडलवेयर लागू कीजिए।

पाठ 2, कुल 4 में से11 चरण

Express में रूटिंग और मिडलवेयर, CoddyKit पर Node.js बैकएंड विकास बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Node.js बैकएंड विकास बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

अपने Express API की रूटिंग करें

वापसी पर आपका स्वागत है! इस पाठ में हम Express की रूटिंग और मिडलवेयर को विस्तार से समझेंगे। शक्तिशाली और व्यवस्थित वेब एप्लिकेशन बनाने के लिए ये मूल अवधारणाएँ हैं।

रूटिंग आपके सर्वर को यह समझने में सहायता करती है कि अलग-अलग अनुरोध मिलने पर क्या करना है, जैसे उपयोगकर्ता की प्रोफ़ाइल दिखाना या नया डेटा सहेजना।

मूल रूट परिभाषित करना

एक रूट आपके Express ऐप को बताता है कि किसी विशेष URL पथ पर किसी विशिष्ट प्रकार के अनुरोध की प्रतिक्रिया कैसे देनी है। आप रूट को app.get(), app.post(), app.put() और app.delete() जैसी विधियों से परिभाषित करते हैं।

हर रूट विधि एक पथ और एक हैंडलर फ़ंक्शन लेती है, जो रूट के मेल खाने पर निष्पादित होता है।

पहले GET रूट का उदाहरण

आइए एक सरल GET रूट बनाएँ, जो मूल URL (/) पर आने वाले अनुरोधों की प्रतिक्रिया दे। यह अक्सर आपका होमपेज या मूल API स्थिति-जाँच होता है।

हैंडलर फ़ंक्शन को req (अनुरोध) और res (प्रतिक्रिया) ऑब्जेक्ट मिलते हैं।

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello from our Express API!');
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

गतिशील रूट पैरामीटर संभालना

अक्सर आपको URL से गतिशील मान प्राप्त करने होते हैं, जैसे किसी उपयोगकर्ता की ID। यह रूट पैरामीटर से किया जाता है, जिन्हें पथ में कोलन (:) द्वारा दर्शाया जाता है।

आप अपने रूट हैंडलर में req.params ऑब्जेक्ट के माध्यम से इन पैरामीटर तक पहुँच सकते हैं।

const express = require('express');
const app = express();
const port = 3000;

app.get('/users/:userId', (req, res) => {
  const userId = req.params.userId;
  res.send(`You requested user ID: ${userId}`);
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

मिडलवेयर क्या है

मिडलवेयर फ़ंक्शन ऐसे फ़ंक्शन होते हैं जिन्हें अनुरोध ऑब्जेक्ट (req), प्रतिक्रिया ऑब्जेक्ट (res) और एप्लिकेशन के अनुरोध-प्रतिक्रिया चक्र में अगले मिडलवेयर फ़ंक्शन तक पहुँच प्राप्त होती है।

वे ये कार्य कर सकते हैं:

  • कोई भी कोड चलाना।
  • अनुरोध और प्रतिक्रिया ऑब्जेक्ट में बदलाव करना।
  • अनुरोध-प्रतिक्रिया चक्र समाप्त करना।
  • स्टैक में अगले मिडलवेयर फ़ंक्शन को कॉल करना।

'next()' फ़ंक्शन

मिडलवेयर की कुंजी next() फ़ंक्शन है। यदि कोई मिडलवेयर फ़ंक्शन अनुरोध-प्रतिक्रिया चक्र को समाप्त नहीं करता है, जैसे res.send() को कॉल करके, तो नियंत्रण को अगले मिडलवेयर फ़ंक्शन या रूट हैंडलर को सौंपने के लिए उसे next() को कॉल करना अनिवार्य है।

यदि next() को कॉल नहीं किया जाता, तो अनुरोध अधर में लटका रहेगा।

एप्लिकेशन-स्तरीय मिडलवेयर

आप app.use() का उपयोग करके सभी अनुरोधों पर वैश्विक रूप से मिडलवेयर लागू कर सकते हैं। यह लॉग दर्ज करने, JSON बॉडी को पार्स करने या सामान्य हेडर सेट करने जैसे कार्यों के लिए बहुत उपयोगी है।

आइए ऐसा सरल लॉगर बनाएँ जो आने वाले हर अनुरोध पर चले।

const express = require('express');
const app = express();
const port = 3000;

// Application-level middleware
app.use((req, res, next) => {
  console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
  next(); // Don't forget to call next()
});

app.get('/', (req, res) => {
  res.send('Check your server console for the log!');
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

रूट-स्तरीय मिडलवेयर

कभी-कभी आप चाहते हैं कि मिडलवेयर केवल कुछ विशेष रूट पर ही चले। रूट हैंडलर फ़ंक्शन से पहले उसे तर्क के रूप में पास करके आप रूट-स्तरीय मिडलवेयर लागू कर सकते हैं।

आप एक ही रूट के लिए कई मिडलवेयर फ़ंक्शन को एक के बाद एक भी जोड़ सकते हैं।

const express = require('express');
const app = express();
const port = 3000;

// A simple authentication middleware
const isAuthenticated = (req, res, next) => {
  if (req.headers.authorization === 'Bearer mysecrettoken') {
    next(); // User is authenticated, proceed
  } else {
    res.status(401).send('Unauthorized: Invalid token');
  }
};

// Apply isAuthenticated middleware only to this route
app.get('/dashboard', isAuthenticated, (req, res) => {
  res.send('Welcome to the protected dashboard!');
});

app.get('/', (req, res) => {
  res.send('Public content here.');
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

मिडलवेयर के सामान्य उपयोग

मिडलवेयर बेहद बहुमुखी होता है। इसके कुछ सामान्य उपयोग इस प्रकार हैं:

  • प्रमाणीकरण/अधिकारीकरण: उपयोगकर्ता की साख या अनुमतियों की जाँच करना।
  • लॉग दर्ज करना: डीबग करने या निगरानी रखने के लिए अनुरोध का विवरण रिकॉर्ड करना।
  • बॉडी पार्स करना: अनुरोध बॉडी से JSON या URL-एन्कोडेड डेटा निकालना, जैसे express.json()।
  • त्रुटि प्रबंधन: त्रुटियों को पकड़कर उनका उत्तर देना, जो एक विशेष प्रकार का मिडलवेयर है।
  • इनपुट सत्यापन: यह सुनिश्चित करना कि अनुरोध डेटा विशेष मानदंडों को पूरा करता है।

मिडलवेयर और रूटिंग जाँच

आइए Express की रूटिंग और मिडलवेयर की आपकी समझ को परखें!

पुनरावलोकन: रूटिंग और मिडलवेयर

बहुत अच्छा! आपने सीखा कि Express URL पथों और HTTP विधियों के आधार पर अनुरोधों को विशेष हैंडलर तक पहुँचाने के लिए रूटिंग का उपयोग करता है।

आपने मिडलवेयर को भी अच्छी तरह समझ लिया है—ये शक्तिशाली फ़ंक्शन अनुरोधों को विभिन्न चरणों में रोककर उनका प्रसंस्करण कर सकते हैं, चाहे सभी अनुरोधों के लिए app.use() के माध्यम से या विशेष रूट के लिए। मज़बूत Express एप्लिकेशन बनाने के लिए इन अवधारणाओं को समझना बुनियादी है!

शुरुआत निःशुल्क

एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
22
पाठ
92

अक्सर पूछे जाने वाले प्रश्न

क्या “Express में रूटिंग और मिडलवेयर” पाठ निःशुल्क है?

हाँ—“Express में रूटिंग और मिडलवेयर” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Express में रूटिंग और मिडलवेयर” में मैं क्या सीखूँगा?

API अंतिम-बिंदु परिभाषित करने के लिए Express रूटिंग में दक्षता प्राप्त कीजिए और अनुरोध-प्रसंस्करण हेतु मिडलवेयर लागू कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Node.js बैकएंड विकास बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Node.js बैकएंड विकास बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Node.js बैकएंड विकास बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“Express में रूटिंग और मिडलवेयर” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Node.js बैकएंड विकास बूटकैंप पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Node.js बैकएंड विकास बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Express.js फ़्रेमवर्क की मूल बातें
  2. Express में रूटिंग और मिडलवेयर
  3. RESTful API अंतिम-बिंदुओं का डिज़ाइन
  4. अनुरोध डेटा संभालना: बॉडी, क्वेरी और पैरामीटर
← Node.js बैकएंड विकास बूटकैंप पर वापस जाएँ