NestJS एंटरप्राइज़ बैकएंड API · पाठ

GraphQL की मूल बातें

GraphQL की मुख्य अवधारणाएँ समझें, जिनमें क्वेरी, म्यूटेशन, सब्सक्रिप्शन और स्कीमा परिभाषा भाषा (SDL) शामिल हैं।

पाठ 1, कुल 3 में से12 चरण

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

GraphQL क्या है

GraphQL में आपका स्वागत है! यह API के लिए एक शक्तिशाली क्वेरी भाषा और आपके मौजूदा डेटा के साथ उन क्वेरी को पूरा करने वाला रनटाइम है।

इसे अपनी आवश्यकता के अनुसार बिल्कुल वही माँगने की प्रक्रिया समझें—न उससे अधिक, न उससे कम। इससे आपके API अधिक कुशल और लचीले बनते हैं।

GraphQL बनाम REST API

परंपरागत रूप से, REST API को अक्सर सभी आवश्यक डेटा प्राप्त करने के लिए कई अनुरोधों की आवश्यकता होती है, जिससे "ज़रूरत से अधिक डेटा प्राप्त करना" या "ज़रूरत से कम डेटा प्राप्त करना" जैसी समस्याएँ होती हैं।

  • ज़रूरत से अधिक डेटा प्राप्त करना: आवश्यकता से अधिक डेटा मिलना।
  • ज़रूरत से कम डेटा प्राप्त करना: पूरा डेटा पाने के लिए कई अनुरोध करने पड़ना।

GraphQL क्लाइंट को एक ही अनुरोध में अपनी इच्छित डेटा संरचना तय करने देकर इस समस्या का समाधान करता है।

मूल आधार: GraphQL स्कीमा

हर GraphQL API के केंद्र में उसका स्कीमा होता है। यह स्कीमा क्लाइंट और सर्वर के बीच अनुबंध की तरह काम करता है।

यह सभी डेटा प्रकारों और उन ऑपरेशन, जैसे क्वेरी, म्यूटेशन और सब्सक्रिप्शन, को परिभाषित करता है जिन्हें क्लाइंट कर सकते हैं। यह आपके API के खाके जैसा है।

SDL के साथ स्कीमा परिभाषित करना

GraphQL स्कीमा स्कीमा डेफ़िनिशन लैंग्वेज (SDL) का उपयोग करके लिखे जाते हैं। इसका सिंटैक्स सरल और मनुष्यों के लिए पढ़ने योग्य है।

SDL आपको अपने API की क्षमताओं और डेटा संरचनाओं को स्पष्ट रूप से निर्दिष्ट करने देता है। यह भाषा-निरपेक्ष है, यानी किसी भी बैकएंड भाषा के साथ काम करता है।

schema {
  query: Query
}

type Query {
  hello: String
}

निर्माण खंड: ऑब्जेक्ट प्रकार

GraphQL स्कीमा का सबसे बुनियादी घटक ऑब्जेक्ट प्रकार है। यह उस ऑब्जेक्ट के प्रकार को दर्शाता है जिसे आप अपनी सेवा से प्राप्त कर सकते हैं।

हर ऑब्जेक्ट प्रकार में फ़ील्ड होते हैं, जो उसके द्वारा रखे जा सकने वाले डेटा के विशिष्ट भाग होते हैं। फ़ील्ड अन्य ऑब्जेक्ट प्रकार भी हो सकते हैं!

type User {
  id: ID!
  name: String!
  email: String
  posts: [Post!]
}

type Post {
  id: ID!
  title: String!
  content: String
}

डेटा प्रकार: स्केलर और सूचियाँ

स्केलर प्रकार वे बुनियादी निर्माण खंड हैं जो एकल मान में बदलते हैं, जैसे String, Int, Float, Boolean और ID (एक विशिष्ट पहचानकर्ता)।

सूची प्रकार किसी फ़ील्ड को किसी निश्चित प्रकार की सूची लौटाने देते हैं, जिसे [] से दर्शाया जाता है। ! का अर्थ है कि फ़ील्ड नॉन-नल है, इसलिए उसे हमेशा कोई मान लौटाना होगा।

type Product {
  id: ID!         # Non-null ID
  name: String!   # Non-null String
  price: Float!   # Non-null Float
  tags: [String!] # List of non-null Strings
  inStock: Boolean
}

क्वेरी के साथ डेटा प्राप्त करना

क्वेरी वह तरीका है जिससे क्लाइंट GraphQL सर्वर से डेटा माँगते हैं। आप वे सटीक फ़ील्ड निर्दिष्ट करते हैं जिन्हें प्राप्त करना चाहते हैं।

इससे सुनिश्चित होता है कि आपको केवल माँगा गया डेटा ही मिले और REST API में आम तौर पर होने वाली आवश्यकता से अधिक डेटा प्राप्त करने की समस्या न हो।

query GetProductNames {
  products {
    id
    name
  }
}

आर्ग्युमेंट के साथ गतिशील क्वेरी

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

आर्ग्युमेंट स्कीमा में परिभाषित किए जाते हैं और क्वेरी करते समय क्लाइंट द्वारा उपयोग किए जाते हैं।

query GetProductById {
  product(id: "prod123") {
    id
    name
    price
  }
}

म्यूटेशन के साथ डेटा में बदलाव करना

जहाँ क्वेरी डेटा पढ़ने के लिए होती हैं, वहीं म्यूटेशन सर्वर पर डेटा लिखने, अपडेट करने या हटाने के लिए होते हैं।

क्वेरी की तरह, म्यूटेशन भी ऑपरेशन के बाद लौटाए जाने वाले डेटा को निर्दिष्ट करते हैं, जिससे बदलावों पर तुरंत प्रतिक्रिया मिलती है।

mutation CreateNewProduct {
  createProduct(name: "New Gadget", price: 99.99) {
    id
    name
  }
}

वास्तविक समय के अपडेट: सब्सक्रिप्शन

सब्सक्रिप्शन एक विशेष प्रकार का ऑपरेशन है, जो किसी खास घटना के घटित होने पर क्लाइंट को सर्वर से वास्तविक समय के अपडेट प्राप्त करने देता है।

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

स्कीमा की बुनियादी बातों की जाँच

Author प्रकार के लिए निम्न GraphQL SDL अंश पर विचार करें:

type Author {
  id: ID!
  name: String!
  books: [Book!]
}

books फ़ील्ड के बारे में निम्नलिखित में से कौन-से कथन सही हैं?

GraphQL की बुनियादी बातों का पुनरावलोकन

बहुत अच्छा! आपने GraphQL की मूल अवधारणाएँ सीख ली हैं:

  • यह एपीआई के लिए एक क्वेरी भाषा है, जो सटीक डेटा प्राप्त करने की सुविधा देती है।
  • स्कीमा SDL का उपयोग करके एपीआई की क्षमताएँ परिभाषित करता है।
  • डेटा पढ़ने के लिए क्वेरी, लिखने के लिए म्यूटेशन और रीयल-टाइम डेटा के लिए सब्सक्रिप्शन का उपयोग किया जाता है।

अब हम देखेंगे कि NestJS एप्लिकेशन में GraphQL को कैसे एकीकृत किया जाता है!

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

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

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

पाठ्यक्रम
20
पाठ
76

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

क्या “GraphQL की मूल बातें” पाठ निःशुल्क है?

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

“GraphQL की मूल बातें” में मैं क्या सीखूँगा?

GraphQL की मुख्य अवधारणाएँ समझें, जिनमें क्वेरी, म्यूटेशन, सब्सक्रिप्शन और स्कीमा परिभाषा भाषा (SDL) शामिल हैं। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ NestJS एंटरप्राइज़ बैकएंड API का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या NestJS एंटरप्राइज़ बैकएंड API शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“GraphQL की मूल बातें” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस NestJS एंटरप्राइज़ बैकएंड API पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. GraphQL की मूल बातें
  2. NestJS GraphQL सेटअप
  3. रिज़ॉल्वर और सब्सक्रिप्शन
← NestJS एंटरप्राइज़ बैकएंड API पर वापस जाएँ