GraphQL और REST API की तुलना

Sep 24, 2024

GraphQL पर व्याख्यान नोट्स

परिचय

  • GraphQL पर वीडियो, जो सबसे अधिक अनुरोधित था।
  • GraphQL क्या है, यह समझने के लिए पहले REST API की चर्चा।

REST API की समस्या

  • REST API में, क्लाइंट और सर्वर के बीच डेटा का आदान-प्रदान कैसे होता है।
    • क्लाइंट (उपयोगकर्ता) एक GET अनुरोध भेजता है।
    • उदाहरण के लिए: /to-dos पर GET अनुरोध।
    • सर्वर सभी टूडू आइटम्स को लौटाता है।

डेटा का अनावश्यक आदान-प्रदान

  • REST API में, सभी डेटा लौटाया जाता है, भले ही क्लाइंट को केवल कुछ जानकारी की आवश्यकता हो।
  • यह नेटवर्क बैंडविड्थ की बर्बादी का कारण बनता है।
    • उदाहरण: यदि उपयोगकर्ता केवल पूर्ण (completed) टूडू जानकारी चाहता है, तो उसे सभी टूडू आइटम्स लाने के लिए सर्वर को कॉल करना पड़ता है।

GraphQL का समाधान

  • GraphQL एक नई क्वेरी भाषा है जो क्लाइंट को यह निर्दिष्ट करने की अनुमति देती है कि उसे क्या डेटा चाहिए।
  • उदाहरण: यदि क्लाइंट केवल टाइटल और उपयोगकर्ता का नाम चाहता है, तो वह केवल वही डेटा लौटाएगा।
  • यह केवल आवश्यक डेटा को लाने में मदद करता है, जिससे बैंडविड्थ की बचत होती है।

GraphQL कैसा काम करता है?

  • क्लाइंट GraphQL सर्वर को एक क्वेरी भेजता है।
  • सर्वर केवल वही डेटा लौटाता है जो क्लाइंट ने मांगा है।
  • डेमो:
    • टूडू का टाइटल और संबंधित उपयोगकर्ता का नाम।

GraphQL सेटअप

  • Node.js और React का उपयोग कर GraphQL का सेटअप।
  • Apollo का इस्तेमाल ग्राफQL सर्वर बनाने में।

सर्वर सेटअप प्रक्रिया

  1. नए डायरेक्टरी का निर्माण।
  2. yarn init और आवश्यक पैकेज इंस्टॉल करें (Express, Apollo, Body-parser, CORS)
  3. GraphQL के लिए स्कीमा और रिसॉल्वर सेट करें।
    • टाइप डिफिनिशन और क्वेरी बनाएं।

उपयोगकर्ता और टूडू डेटा लाना

  • टूडू और उपयोगकर्ता के लिए अलग-अलग टाइप बनाएँ।
  • डेटा को JSON प्लेसहोल्डर से लाने का उदाहरण।
  • उपयोगकर्ता के नाम और ईमेल को लाना।
  • डेटा के लिए केवल आवश्यक फ़ील्ड्स को क्वेरी करना।

क्लाइंट सेटअप

  • React ऐप में Apollo Client सेटअप करें।
  • ग्राफQL क्वेरी बनाकर डेटा लाना।

उपयोगकर्ता इंटरफेस

  • लोडिंग स्टेट दिखाना जब डेटा लोड हो रहा हो।
  • डेटा को टेबल के रूप में प्रदर्शित करना।

निष्कर्ष

  • GraphQL का उपयोग आधुनिक वेब अनुप्रयोगों में किया जा रहा है।
  • GraphQL का कोर्स और 25% छूट का लिंक।
  • GraphQL का उपयोग करके पूर्ण स्टैक अनुप्रयोगों का निर्माण।

यह नोट्स GraphQL की मूल बातें समझने और REST API के साथ इसकी तुलना करने में मदद करेंगे।
GraphQL का उपयोग करके सर्वर और क्लाइंट के बीच डेटा के आदान-प्रदान की प्रक्रिया को समझने पर जोर दिया गया है।
नयी तकनीकों के माध्यम से वास्तविक दुनिया में ग्राफQL कैसे कार्य करता है, पर चर्चा।