C# के साथ GraphQL API: शुरुआती लोगों के लिए चरण-दर-चरण ट्यूटोरियल

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

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

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

C# के साथ GraphQL का परिचय

\n\n

GraphQL Facebook द्वारा विकसित API के लिए एक क्वेरी भाषा है, जो क्लाइंट को केवल वही डेटा माँगने की अनुमति देती है जिसकी उन्हें आवश्यकता है। REST के विपरीत, जहाँ एंडपॉइंट निश्चित होते हैं, GraphQL सर्वर प्रतिक्रियाओं को लचीले ढंग से बनाने की अनुमति देता है। इस ट्यूटोरियल में, हम Hot Chocolate लाइब्रेरी का उपयोग करके C# में एक पूर्ण GraphQL API बनाएंगे - जो .NET के लिए सबसे लोकप्रिय समाधान है।

\n\n

हम इंस्टॉलेशन से लेकर क्वेरी, म्यूटेशन और सब्सक्रिप्शन के कार्यान्वयन तक का सफर तय करेंगे। लेख के अंत तक, आप C# पर GraphQL सर्वर तैनात करने और इसे अपने प्रोजेक्ट्स में एकीकृत करने में सक्षम होंगे।

\n\n

1. प्रोजेक्ट की स्थापना और कॉन्फ़िगरेशन

\n\n

शुरू करने के लिए, एक नया ASP.NET Core प्रोजेक्ट बनाएँ। सुनिश्चित करें कि आपके पास .NET SDK (संस्करण 6.0 या उच्चतर) स्थापित है। टर्मिनल या कमांड प्रॉम्प्ट खोलें और निम्नलिखित निष्पादित करें:

\n\n
dotnet new web -n GraphQLDemo\ncd GraphQLDemo
\n\n

अब Hot Chocolate पैकेज स्थापित करें:

\n\n
dotnet add package HotChocolate.AspNetCore\ndotnet add package HotChocolate.AspNetCore.Playground
\n\n

स्थापना के बाद, Program.cs फ़ाइल खोलें और सर्वर कॉन्फ़िगर करें:

\n\n
using Microsoft.AspNetCore.Builder;\nusing Microsoft.Extensions.DependencyInjection;\n\nvar builder = WebApplication.CreateBuilder(args);\n\n// GraphQL सेवाएँ जोड़ें\nbuilder.Services\n    .AddGraphQLServer()\n    .AddQueryType<Query>();\n\nvar app = builder.Build();\n\n// GraphQL मिडलवेयर कनेक्ट करें\napp.MapGraphQL();\n\n// परीक्षण के लिए Playground जोड़ें\napp.UsePlayground();\n\napp.Run();
\n\n

अब एक अलग फ़ाइल Query.cs में एक सरल Query क्लास बनाएँ:

\n\n
public class Query\n{\n    public string Hello() => "नमस्ते, GraphQL दुनिया!";\n}
\n\n

प्रोजेक्ट को dotnet run कमांड से चलाएँ और ब्राउज़र में http://localhost:5000/graphql खोलें। आप Playground इंटरफ़ेस देखेंगे, जहाँ आप क्वेरी निष्पादित कर सकते हैं:

\n\n
{\n  hello\n}
\n\n

उत्तर: { "data": { "hello": "नमस्ते, GraphQL दुनिया!" } }

\n\n

2. प्रकार और क्वेरी बनाना

\n\n

GraphQL सख्ती से टाइप किया गया है। C# में, हम प्रकारों को परिभाषित करने के लिए क्लास का उपयोग करते हैं। Book और Author मॉडल बनाएँ:

\n\n
public class Book\n{\n    public int Id { get; set; }\n    public string Title { get; set; }\n    public Author Author { get; set; }\n}\n\npublic class Author\n{\n    public int Id { get; set; }\n    public string Name { get; set; }\n    public List<Book> Books { get; set; }\n}
\n\n

अब डेटा स्टोरेज जोड़ें (वास्तविक प्रोजेक्ट में डेटाबेस का उपयोग करें) और Query क्लास का विस्तार करें:

\n\n
public class Query\n{\n    private static List<Author> _authors = new()\n    {\n        new Author\n        {\n            Id = 1,\n            Name = "लियो टॉल्स्टॉय",\n            Books = new List<Book>\n            {\n                new Book { Id = 1, Title = "युद्ध और शांति", Author = null },\n                new Book { Id = 2, Title = "अन्ना कैरेनिना", Author = null }\n            }\n        },\n        new Author\n        {\n            Id = 2,\n            Name = "फ्योदोर दोस्तोयेव्स्की",\n            Books = new List<Book>\n            {\n                new Book { Id = 3, Title = "अपराध और दंड", Author = null }\n            }\n        }\n    };\n\n    public List<Author> GetAuthors() => _authors;\n\n    public Author GetAuthor(int id) => \n        _authors.FirstOrDefault(a => a.Id == id);\n    \n    public List<Book> GetBooks() => \n        _authors.SelectMany(a => a.Books).ToList();\n}
\n\n

ध्यान दें: हमने स्पष्ट रूप से प्रकारों को कॉन्फ़िगर नहीं किया - Hot Chocolate स्वचालित रूप से C# क्लास के आधार पर स्कीमा उत्पन्न करता है। अब आप क्वेरी निष्पादित कर सकते हैं:

\n\n
{\n  authors {\n    id\n    name\n    books {\n      title\n    }\n  }\n}

ब्लॉग

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