JavaScript के साथ GraphQL API: चरण-दर-चरण व्यावहारिक ट्यूटोरियल

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

GraphQL और इसके लाभों का परिचय

\n\n

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

\n\n

इस चरण-दर-चरण ट्यूटोरियल में, हम Node.js का उपयोग करके JavaScript में एक पूर्ण GraphQL API बनाएंगे। आप सर्वर सेट अप करना, स्कीमा परिभाषित करना, क्वेरी और म्यूटेशन को संभालना सीखेंगे। लेख के अंत तक, आपके पास एक कार्यशील API होगा, जो किसी भी प्रोजेक्ट में एकीकरण के लिए तैयार है।

\n\n

1. प्रोजेक्ट सेटअप और निर्भरताएँ स्थापित करना

\n\n

शुरू करने के लिए, हम एक नया Node.js प्रोजेक्ट बनाएंगे और आवश्यक पैकेज स्थापित करेंगे। हम apollo-server का उपयोग करेंगे - जो GraphQL सर्वर बनाने के लिए एक लोकप्रिय लाइब्रेरी है।

\n\n

चरण 1: प्रोजेक्ट आरंभीकरण

\n
mkdir graphql-tutorial\ncd graphql-tutorial\nnpm init -y
\n\n

चरण 2: Apollo Server और GraphQL स्थापित करना

\n
npm install apollo-server graphql
\n\n

स्थापना के बाद, हम मुख्य फ़ाइल index.js बनाएंगे, जहाँ हमारा सर्वर स्थित होगा।

\n\n

2. बेसिक GraphQL सर्वर बनाना

\n\n

अब हम एक न्यूनतम सर्वर लिखेंगे जो अनुरोध स्वीकार करेगा और प्रतिक्रियाएँ लौटाएगा। इसके लिए, हम स्कीमा और रिज़ॉल्वर परिभाषित करेंगे।

\n\n

चरण 1: डेटा प्रकार परिभाषित करना

\n

हम id, title और author फ़ील्ड के साथ एक सरल Book प्रकार बनाएंगे।

\n\n
const { ApolloServer, gql } = require('apollo-server');\n\n// GraphQL स्कीमा\nconst typeDefs = gql`\n  type Book {\n    id: ID!\n    title: String!\n    author: String!\n  }\n\n  type Query {\n    books: [Book]\n    book(id: ID!): Book\n  }\n`;\n\n// नमूना डेटा (वास्तविक प्रोजेक्ट में - डेटाबेस)\nconst books = [\n  { id: '1', title: 'युद्ध और शांति', author: 'लियो टॉल्स्टॉय' },\n  { id: '2', title: 'अपराध और दंड', author: 'फ्योदोर दोस्तोयेव्स्की' },\n  { id: '3', title: 'मास्टर और मार्गरीटा', author: 'मिखाइल बुल्गाकोव' }\n];\n\n// रिज़ॉल्वर - डेटा लौटाने वाले फ़ंक्शन\nconst resolvers = {\n  Query: {\n    books: () => books,\n    book: (parent, args) => books.find(book => book.id === args.id)\n  }\n};\n\n// सर्वर बनाना\nconst server = new ApolloServer({ typeDefs, resolvers });\n\n// सर्वर चालू करना\nserver.listen().then(({ url }) => {\n  console.log(`🚀  सर्वर इस पते पर तैयार है: ${url}`);\n});
\n\n

चरण 2: चालू करना और परीक्षण

\n

node index.js कमांड चलाएँ और ब्राउज़र में http://localhost:4000 खोलें। आपको GraphQL Playground दिखाई देगा - क्वेरी परीक्षण के लिए एक उपकरण।

\n\n

एक सरल क्वेरी चलाने का प्रयास करें:

\n
{\n  books {\n    title\n    author\n  }\n}
\n\n

प्रतिक्रिया में निर्दिष्ट फ़ील्ड के साथ पुस्तकों की सूची होनी चाहिए।

\n\n

3. म्यूटेशन जोड़ना और स्कीमा का विस्तार करना

\n\n

अब हम म्यूटेशन के माध्यम से डेटा बदलने की क्षमता जोड़ेंगे। इससे रिकॉर्ड बनाना, अपडेट करना और हटाना संभव होगा।

\n\n

चरण 1: स्कीमा में म्यूटेशन परिभाषित करना

\n
const typeDefs = gql`\n  type Book {\n    id: ID!\n    title: String!\n    author: String!\n  }\n\n  input BookInput {\n    title: String!\n    author: String!\n  }\n\n  type Query {\n    books: [Book]\n    book(id: ID!): Book\n  }\n\n  type Mutation {\n    addBook(input: BookInput!): Book\n    deleteBook(id: ID!): Book\n  }\n`;
\n\n

चरण 2: म्यूटेशन के लिए रिज़ॉल्वर लागू करना

\n
const resolvers = {\n  Query: {\n    books: () => books,\n    book: (parent, args) => books.find(book => book.id === args.id)\n  },\n  Mutation: {\n    addBook: (parent, args) => {\n      const newBook = {\n        id: String(books.length + 1),\n        title: args.input.title,\n        author: args.input.author\n      };\n      books.push(newBook);\n      return newBook;\n    },\n    deleteBook: (parent, args) => {\n      const index = books.findIndex(book => book.id                

ब्लॉग

पुस्तक अनुशंसाएँ