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

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

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

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

Java पर GraphQL API का परिचय

\n\n

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

\n\n

इस ट्यूटोरियल में, हम व्यावहारिक रूप से समझेंगे कि graphql-java लाइब्रेरी और Spring Boot फ्रेमवर्क का उपयोग करके Java के साथ GraphQL API कैसे बनाया जाए। आप सीखेंगे कि स्कीमा कैसे सेट करें, रिज़ॉल्वर कैसे लिखें और क्वेरी कैसे निष्पादित करें।

\n\n

यह लेख Java डेवलपर्स के लिए उपयोगी होगा जो API बनाने के आधुनिक दृष्टिकोण में महारत हासिल करना चाहते हैं और क्लाइंट और सर्वर के बीच बातचीत में सुधार करना चाहते हैं।

\n\n

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

\n\n

शुरू करने के लिए, हम एक नया Spring Boot प्रोजेक्ट बनाएंगे। Spring Initializr का उपयोग करना सबसे सुविधाजनक है। निम्नलिखित निर्भरताएँ जोड़ें:

\n\n
    \n
  • Spring Web — वेब सर्वर चलाने के लिए
  • \n
  • Spring Boot DevTools — विकास में तेजी लाने के लिए
  • \n
  • Lombok — बॉयलरप्लेट कोड को कम करने के लिए
  • \n
\n\n

प्रोजेक्ट बनाने के बाद, pom.xml में मुख्य GraphQL लाइब्रेरी जोड़ें:

\n\n
<dependency>\n    <groupId>com.graphql-java</groupId>\n    <artifactId>graphql-java-spring-boot-starter-webmvc</artifactId>\n    <version>2021-06-30T00-00-00-1e4b5e5</version>\n</dependency>
\n\n

GraphiQL टूल (क्वेरी परीक्षण के लिए वेब इंटरफ़ेस) के साथ काम करने के लिए एक लाइब्रेरी की भी आवश्यकता होगी:

\n\n
<dependency>\n    <groupId>com.graphql-java</groupId>\n    <artifactId>graphiql-spring-boot-starter</artifactId>\n    <version>5.0.2</version>\n</dependency>
\n\n

निर्भरताएँ जोड़ने के बाद, प्रोजेक्ट को अपडेट करें और इसे चलाएँ। डिफ़ॉल्ट रूप से, GraphiQL http://localhost:8080/graphiql पते पर उपलब्ध होगा।

\n\n

2. डेटा मॉडल और GraphQL स्कीमा बनाना

\n\n

प्रदर्शन के लिए, हम एक सरल Book (पुस्तक) मॉडल बनाएंगे। id, title, author और pages फ़ील्ड वाला एक क्लास परिभाषित करें।

\n\n
import lombok.AllArgsConstructor;\nimport lombok.Data;\nimport lombok.NoArgsConstructor;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class Book {\n    private String id;\n    private String title;\n    private String author;\n    private int pages;\n}
\n\n

अब GraphQL स्कीमा को परिभाषित करना आवश्यक है। src/main/resources फ़ोल्डर में schema.graphqls फ़ाइल बनाएँ:

\n\n
type Query {\n    allBooks: [Book]\n    bookById(id: String): Book\n}\n\ntype Book {\n    id: String\n    title: String\n    author: String\n    pages: Int\n}
\n\n

स्कीमा दो क्वेरी का वर्णन करती है: सभी पुस्तकें प्राप्त करना और आईडी द्वारा पुस्तक प्राप्त करना। Book प्रकार में चार फ़ील्ड हैं।

\n\n

क्वेरी को संसाधित करने के लिए, हम एक सेवा बनाएंगे जो डेटा को मेमोरी में संग्रहीत करेगी (सरलता के लिए):

\n\n
import org.springframework.stereotype.Service;\nimport javax.annotation.PostConstruct;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Optional;\n\n@Service\npublic class BookService {\n    private List<Book> books = new ArrayList<>();\n\n    @PostConstruct\n    public void init() {\n        books.add(new Book("1", "वॉर एंड पीस", "लियो टॉल्स्टॉय", 1225));\n        books.add(new Book("2", "क्राइम एंड पनिशमेंट", "फ्योडोर दोस्तोयेव्स्की", 671));\n        books.add(new Book("3", "द मास्टर एंड मार्गरीटा", "मिखाइल बुल्गाकोव", 480));\n    }\n\n    public List<Book> getAllBooks() {\n        return books;\n    }\n\n    public Book getBookById(String id) {\n        Optional<Boo                

ब्लॉग

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