Apollo Server JavaScript (Node.js): पूर्ण गाइड उदाहरणों के साथ
Apollo Server एक शक्तिशाली और लचीली लाइब्रेरी है जो Node.js पर GraphQL सर्वर बनाने के लिए उपयोग की जाती है। यह Apollo GraphQL इकोसिस्टम का हिस्सा है और डेवलपर्स को तेज़, स्केलेबल और आसानी से मेंटेन होने वाले API बनाने के लिए बेहतरीन टूल्स प्रदान करता है। अगर आप REST API से परिचित हैं, तो GraphQL को एक ऐसे विकल्प के रूप में सोचें जहाँ क्लाइंट खुद तय करता है कि उसे कौन सा डेटा चाहिए, और सर्वर सिर्फ उतना ही डेटा भेजता है जितना माँगा गया है। Apollo Server सारी रूटीन को संभाल लेता है: क्वेरी पार्सिंग, स्कीमा वैलिडेशन, resolvers को execute करना और रिस्पॉन्स को फॉर्मेट करना।
Apollo Server की ज़रूरत क्यों है? पहला, यह GraphQL सर्वर डेवलपमेंट को बहुत आसान बना देता है। आपको पार्सर, वैलिडेटर या सुरक्षा (SQL-इंजेक्शन से बचाव, क्वेरी डेप्थ लिमिट आदि) के बारे में चिंता करने की ज़रूरत नहीं है — यह सब पहले से बिल्ट-इन है। दूसरा, Apollo Server कई इंटीग्रेशन को सपोर्ट करता है: Express, Fastify, Koa, AWS Lambda, Azure Functions और अन्य प्लेटफॉर्म। इसका मतलब है कि आप अपने सर्वर को कहीं भी डिप्लॉय कर सकते हैं — एक साधारण लोकल ऐप से लेकर serverless फंक्शन तक। तीसरा, यह लाइब्रेरी लगातार अपडेट होती है, इसका बड़ा कम्युनिटी है और शानदार डॉक्यूमेंटेशन है, जो इसे Node.js में GraphQL के लिए डी-फैक्टो स्टैंडर्ड बनाता है।
इस लेख में हम विस्तार से इंस्टॉलेशन, मुख्य तरीकों को समझेंगे, कई काम के उदाहरण लिखेंगे और परफॉरमेंस के टिप्स देंगे। यह सामग्री उन शुरुआती लोगों के लिए उपयोगी होगी जो अभी GraphQL सीख रहे हैं, और अनुभवी डेवलपर्स के लिए भी जो Apollo Server के बारे में अपनी जानकारी गहरी करना चाहते हैं।
1. इंस्टॉलेशन
Apollo Server के साथ काम करने के लिए आपको Node.js वर्शन 14 या उससे ऊपर की आवश्यकता है। इंस्टॉलेशन npm (या yarn) के माध्यम से किया जाता है। मुख्य पैकेज है @apollo/server। आपको graphql की भी ज़रूरत होगी — यह GraphQL भाषा का कोर है, जिसके बिना Apollo Server काम नहीं कर सकता।
npm install @apollo/server graphql
अगर आप Apollo Server को Express के साथ उपयोग करने की योजना बना रहे हैं (सबसे लोकप्रिय विकल्प), तो अतिरिक्त रूप से इंस्टॉल करें:
npm install express cors body-parser
npm install @as-integrations/express
TypeScript (अनुशंसित) के साथ काम करने के लिए टाइप्स इंस्टॉल करें:
npm install --save-dev typescript @types/node @types/express
2. त्वरित शुरुआत — न्यूनतम काम का उदाहरण
चलिए एक बहुत ही सरल GraphQL सर्वर बनाते हैं जो उपयोगकर्ता का स्वागत करेगा। एक फ़ाइल index.js बनाएँ और उसमें निम्नलिखित कोड डालें:
import { ApolloServer } from '@apollo/server';
import { startStandaloneServer } from '@apollo/server/standalone';
// 1. स्कीमा (typeDefs) परिभाषित करें
const typeDefs = `#graphql
type Query {
hello: String
}
`;
// 2. resolvers परिभाषित करें
const resolvers = {
Query: {
hello: () => 'नमस्ते दुनिया! यह Apollo Server है!',
},
};
// 3. सर्वर का इंस्टेंस बनाएँ
const server = new ApolloServer({
typeDefs,
resolvers,
});
// 4. सर्वर शुरू करें
const { url } = await startStandaloneServer(server, {
listen: { port: 4000 },
});
console.log(`🚀 सर्वर इस पते पर चल रहा है: ${url}`);
सर्वर को node index.js कमांड से चलाएँ (अगर ES-मॉड्यूल का उपयोग कर रहे हैं, तो package.json में "type": "module" जोड़ें)। ब्राउज़र खोलें और http://localhost:4000 पर जाएँ। आपको Apollo Sandbox इंटरफ़ेस दिखेगा, जहाँ आप यह क्वेरी चला सकते हैं:
query {
hello
}
जवाब होना चाहिए: { "data": { "hello": "नमस्ते दुनिया! यह Apollo Server है!" } }। बधाई हो, आपका पहला GraphQL सर्वर काम कर रहा है!
3. मुख्य तरीके/फंक्शन/क्लासेस
अब Apollo Server के मुख्य तत्वों को समझते हैं। प्रत्येक के लिए सिग्नेचर, संक्षिप्त विवरण और उदाहरण दिया गया है।
3.1. new ApolloServer(config)
सिग्नेचर:
पुस्तकालय में भी
Swift (iOS/macOS) में तिथियों के साथ कार्य: लाइब्रेरीज़ और फ्रेमवर्क
Swift (iOS/macOS) में CSV के साथ कार्य: SwiftCSV लाइब्रेरी और पार्सिंग की मूल बातें
C++ में HTML पार्सिंग: लाइब्रेरीज़ का अवलोकन और कोड उदाहरण
TypeScript में लॉगिंग: सर्वश्रेष्ठ लाइब्रेरीज़ और समाधानों का अवलोकन
जावा में इमेज प्रोसेसिंग: लाइब्रेरी, टूल्स और कोड उदाहरण
अनुशंसाएँ