Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Node.js
Code

Node.js और Express के साथ अपना पहला API कोड करें: सर्वर सेट अप करें

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Code Your First API With Node.js and Express.
Code Your First API With Node.js and Express: Understanding REST APIs
Code Your First API With Node.js and Express: Connect a Database

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

Node.js में एक Express API सर्वर कैसे सेट करें

पिछले ट्यूटोरियल में, हमने सीखा है कि REST आर्किटेक्चर क्या है, REST की छह गाइडिंग बाधाएं, HTTP रिक्वेस्ट मेथड्स और उनके रिस्पांस कोड को समझने के लिए, और एक विश्वसनीय API एंडपॉइंट की शारीरिक रचना।

इस ट्यूटोरियल में, हम अपने API के रहने के लिए एक सर्वर सेट अप करेंगे। आप किसी भी प्रोग्रामिंग लैंग्वेज और सर्वर सॉफ़्टवेयर के साथ एक API बना सकते हैं, लेकिन हम Node.js का उपयोग करेंगे, जो जावास्क्रिप्ट का बैक-एंड इम्प्लीमेंटेशन है, और Express, Node के लिए एक लोकप्रिय, मिनिमल फ्रेमवर्क है।

इंस्टालेशन

हमारी पहली शर्त यह सुनिश्चित कर रही है कि कंप्यूटर पर ग्लोबल स्तर पर Node.js और npm इनस्टॉल हो। हम -v फ्लैग का उपयोग करके दोनों का परीक्षण कर सकते हैं, जो वर्जन प्रदर्शित करेगा। अपना कमांड प्रॉम्प्ट खोलें और निम्न टाइप करें।

आपके वर्जन मेरी तुलना में थोड़ा अलग हो सकता हैं, लेकिन जब तक दोनों यहाँ हैं, हम शुरू कर सकते हैं।

आइए express-api नामक एक प्रोजेक्ट डायरेक्टरी बनाएं और इसमें चले जाएं।

अब जब हम अपनी नई डायरेक्टरी में हैं, हम इन प्रोजेक्ट को init कमांड के साथ प्रारंभ कर सकते हैं।

यह कमांड आपको प्रोजेक्ट के बारे में कुछ प्रश्नों के उत्तर देने के लिए प्रांप्ट करेगा, जिसे आप भरना या नहीं भरना चुन सकते हैं। एक बार सेटअप पूरा होने के बाद, आपके पास एक package.json फ़ाइल होगी जो इस तरह दिखती है:

अब हमारे पास हमारे package.json हैं, हम अपनी प्रोजेक्ट के लिए आवश्यक डिपेंडेंसी को इनस्टॉल कर सकते हैं। सौभाग्य से हमें बहुत अधिक डिपेंडेंसी की आवश्यकता नहीं है, केवल नीचे सूचीबद्ध इन चार की हमें जरूरत है।

  • body-parser: बॉडी पार्सिंग मिडलवेयर।
  • express: एक मिनिमल वेब फ्रेमवर्क जिसका हम अपने सर्वर के लिए उपयोग करेंगे।
  • mysql: एक MySQL ड्राइवर।
  • request (वैकल्पिक): HTTP कॉल करने का एक आसान तरीका।

हम अपने प्रोजेक्ट को सेट करने के लिए प्रत्येक डिपेंडेंसी के बाद install कमांड का उपयोग करेंगे।

यह एक package-lock.json फ़ाइल और एक node_modules डायरेक्टरी बनाएगा, और हमारे package.json को इस तरह कुछ दिखने के लिए अपडेट किया जाएगा:

एक HTTP सर्वर को सेटअप करना

एक Express सर्वर सेटअप करना शुरू करने से पहले, हम एक साधारण सर्वर कैसे काम करता है इसका एक अनुमान प्राप्त करने के लिए, हम Node के बिल्ट-इन http मॉड्यूल के साथ एक HTTP सर्वर को जल्दी से सेटअप करेंगे।

hello-server.js नामक एक फ़ाइल बनाएं। http मॉड्यूल में लोड करें, पोर्ट नंबर सेट करें (मैंने 3001 चुना है), और createServer() मेथड के साथ सर्वर बनाएं।

प्रारंभिक REST आर्टिकल में, हमने चर्चा की कि HTTP सर्वर के संबंध में कौन से रिक्वेस्ट और रिस्पांस हैं। हम रिक्वेस्ट को संभालने के लिए हमारे सर्वर को सेट करने जा रहे हैं और सर्वर साइड पर रिक्वेस्ट किए गए URL को प्रदर्शित करते हैं, और Hello, server! मैसेज को रिस्पांस साइड के क्लाइंट को प्रदर्शित करते हैं।

अंत में, हम सर्वर को बताएंगे कि कौन सा port पर सुनना है, और एक एरर दिखाएं यदि कोई है तो।

अब, हम अपने सर्वर को node और उसके बाद फाइलनेम लगाकर शुरू कर सकते हैं।

आप टर्मिनल में यह रिस्पांस देखेंगे:

यह जांचने के लिए कि सर्वर वास्तव में चल रहा है, अपने ब्राउज़र के एड्रेस बार में https://localhost:3001/ पर जाएं। अगर सब ठीक से काम कर रहे हैं, तो आपको Hello, server! पेज पर दिखना चाहिए। आपके टर्मिनल में, आप उन URL को भी देखेंगे जिनसे रिक्वेस्ट किया गया था।

यदि आप http://localhost:3001/hello पर नेविगेट करते हैं, तो आप देखेंगे URL: /hello

हम अपने लोकल सर्वर पर cURL का भी उपयोग कर सकते हैं, जो हमें सटीक हैडर और बॉडी दिखाएगा जो रीटर्न किये जा रहे हैं।

यदि आप किसी भी समय टर्मिनल विंडो बंद करते हैं, तो सर्वर चला जायेगा।

अब जब हमारे पास एक आईडिया है कि सर्वर, रिक्वेस्ट, और रिस्पांस सभी एक साथ कैसे काम करते हैं, तो हम इसे Express में रीराइट कर सकते हैं, जिसमें एक सरल इंटरफ़ेस और एक्सटेंडेड फीचर्स भी हैं।

एक Express सर्वर को सेटअप करना

हम एक नई फाइल, app.js बनाने जा रहे हैं, जो हमारे वास्तविक प्रोजेक्ट के लिए एंट्री पॉइंट होगा। ओर्जिनल http सर्वर की तरह ही, हमें एक मॉड्यूल की आवश्यकता होगी और शुरू करने के लिए पोर्ट सेट करें।

एक app.js फ़ाइल बनाएं और इसमें निम्न कोड डालें।

अब, सभी रिक्वेस्ट की तलाश करने के बजाय, हम स्पष्ट रूप से बताएंगे कि हम सर्वर की रूट (/) पर एक GET रिक्वेस्ट की तलाश में हैं। जब / को रिक्वेस्ट प्राप्त होती है, हम रिक्वेस्ट किए गए URL और "Hello, Server!" मैसेज  को प्रदर्शित करेंगे।

अंत में, हम listen() मेथड के साथ पोर्ट 3002 पर सर्वर शुरू करेंगे।

हम सर्वर को node app.js के साथ शुरू कर सकते हैं जैसा हमने पहले किया था, लेकिन हम इस विशिष्ट कमांड को स्वचालित रूप से (ऑटोमेटिकली) चलाने के लिए हमारी package.json फ़ाइल में scripts प्रॉपर्टी को भी संशोधित कर सकते हैं।

अब हम सर्वर शुरू करने के लिए npm start का उपयोग कर सकते हैं, और हम टर्मिनल में अपना सर्वर मैसेज देखेंगे।

यदि हम URL पर curl -i चलाते हैं, तो हम देखेंगे कि यह अब Express द्वारा पावर किये जा रहे है, और कुछ अतिरिक्त हैडर जैसे Content-Type भी इसमें हैं।

बॉडी पार्सिंग मिडलवेयर जोड़ें

हमारे API को आसानी से POST और PUT रिक्वेस्ट्स से निपटने के लिए, हम बॉडी पार्सिंग मिडलवेयर जोड़ देंगे। यह वह जगह है जहां हमारा body-parser मॉड्यूल आता हैं। body-parser आने वाले रिक्वेस्ट के पूरे बॉडी को निकाल देगा और इसे JSON ऑब्जेक्ट में पार्स करेगा जिसके साथ हम काम कर सकते हैं।

हमें बस हमारी फाइल के शीर्ष पर मॉड्यूल की आवश्यकता होगी। अपनी app.js फ़ाइल के शीर्ष पर निम्न require स्टेटमेंट जोड़ें।

फिर हम अपने Express ऐप को body-parser का उपयोग करने के लिए बताएंगे, और json को ढूंढेंगे।

साथ ही, प्लेन टेक्स्ट की बजाय रिस्पांस के रूप में JSON ऑब्जेक्ट भेजने के लिए हमारे मैसेज को बदल दें।

यह हमारी पूरी app.json फ़ाइल है क्योंकि यह अभी तक खड़ी है।

यदि आप सर्वर पर curl -i भेजते हैं, तो आप देखेंगे कि हेडर अब Content-Type: application/json; charset=utf-8 देता है।

रुट्स को सेट करें

अब तक, हमारे पास रूट (/) के लिए केवल एक GET रूट है, लेकिन हमारी API कई URL पर सभी चार प्रमुख HTTP रिक्वेस्ट मेथड्स को संभालने में सक्षम होना चाहिए। हम राउटर सेटअप करने जा रहे हैं और कुछ नकली डेटा प्रदर्शित करने जा रहे हैं।

आइए routes नामक एक नई डायरेक्टरी बनाएं, और routes.js नामक एक फ़ाइल बनाएं। हम इसे app.js के शीर्ष पर लिंक करेंगे।

ध्यान दें कि require में .js एक्सटेंशन आवश्यक नहीं है। अब हम अपने ऐप के GET लिस्टनर (listener) को routes.js पर ले जायेंगे। routes.js में निम्न कोड एंटर करें।

अंत में, router एक्सपोर्ट करें ताकि हम इसे हमारे app.js फ़ाइल में उपयोग कर सकें।

app.js में, app.get() कोड को आपके पास पहले से routes() पर कॉल के साथ रीप्लेस करें:

अब आप http://localhost:3002 पर जा सकते हैं और पहले जैसी ही बात देख सकते हैं। (सर्वर को रीस्टार्ट करना न भूलें!)

एक बार यह सब ठीक हो जाए और ठीक से काम कर रहा हो, हम किसी अन्य रूट के साथ कुछ JSON डेटा को सर्व करेंगे। हम अभी के लिए नकली डेटा का उपयोग करेंगे, क्योंकि हमारा डेटाबेस अभी तक सेटअप नहीं है।

JSON फॉर्मेट में कुछ नकली यूजर डेटा के साथ, routes.js में users वेरिएबल बनाते हैं।

हम अपने राउटर में एक और GET मेथड को जोड़ेंगे, /users, और यूजर डेटा को इससे भेजेंगे।

सर्वर को रीस्टार्ट करने के बाद, अब आप http://localhost:3002/users पर नेविगेट कर सकते हैं और हमारे सभी डेटा डिस्प्ले किए जा सकते हैं।

नोट: यदि आपके पास अपने ब्राउज़र पर JSON viewer एक्सटेंशन नहीं है, तो मैं अत्यधिक रेकमेंड करता हूं कि आप इसे डाउनलोड करें, जैसे क्रोम के लिए JSONView। यह डेटा को पढ़ने में बहुत आसान बना देगा!

इस पोस्ट के पूरे कोड देखने के लिए हमारे GitHub रेपो पर जाएं और इसकी अपने वाले से तुलना करें।

निष्कर्ष

इस ट्यूटोरियल में, हमने सीखा कि एक बिल्ट-इन HTTP सर्वर को कैसे सेटअप करें और नोड, रूट रिक्वेस्ट्स और URL में एक Express सर्वर कैसे सेटअप करें और get रिक्वेस्ट के साथ JSON डेटा को कैसे उपयोग करें।

RESTful API सीरीज की अंतिम इन्सटॉलमेंट में, हम अपने API की फंक्शनलिटी को अंतिम रूप देने, डेटाबेस में यूज़र्स को create, view, update और delete करने के लिए हमारे Express सर्वर को MySQL पर हुक करेंगे।

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.