Carter C# (.NET) पूर्ण गाइड: उदाहरणों के साथ

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

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

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

Carter लाइब्रेरी C# (.NET) के लिए: पूर्ण गाइड

1. यह क्या है और क्यों ज़रूरी है

Carter एक हल्का, हाई-परफॉर्मेंस फ्रेमवर्क है जो ASP.NET Core प्लेटफॉर्म पर HTTP API बनाने के लिए उपयोग किया जाता है। यह लोकप्रिय NancyFX फ्रेमवर्क से प्रेरित है और डेवलपर्स को रूटिंग और रिक्वेस्ट हैंडलिंग के लिए एक परिचित, डिक्लेरेटिव तरीका प्रदान करता है। पारंपरिक MVC (Model-View-Controller) के विपरीत, Carter आपको अलग-अलग कंट्रोलर बनाने और जटिल रूटिंग सेट करने की ज़रूरत के बिना, सीधे कोड में एंडपॉइंट (endpoints) परिभाषित करने की सुविधा देता है।

Carter का उपयोग क्यों करें? मुख्य कारण है सादगी और तेज़ डेवलपमेंट। अगर आपको जल्दी से एक मिनिमल API या माइक्रोसर्विस बनाना है, तो Carter एक संक्षिप्त सिंटैक्स प्रदान करता है जो बॉयलरप्लेट कोड को कम करता है। यह उन प्रोजेक्ट्स के लिए आदर्श है जहाँ MVC की पूरी शक्ति की ज़रूरत नहीं है, लेकिन रिक्वेस्ट और रिस्पॉन्स के साथ काम करने में लचीलापन और सुविधा चाहिए। Carter ASP.NET Core के साथ भी बेहतरीन रूप से इंटीग्रेट होता है, इसके इनबिल्ट डिपेंडेंसी कंटेनर, मिडलवेयर और अन्य सुविधाओं का उपयोग करता है।

Carter की मुख्य विशेषताओं में शामिल हैं: रूट पैरामीटर और रिक्वेस्ट बॉडी का ऑटोमैटिक बाइंडिंग (model binding), वैलिडेशन के लिए इनबिल्ट सपोर्ट, आसान एरर हैंडलिंग, और एंडपॉइंट को आसानी से टेस्ट करने की क्षमता। इस फ्रेमवर्क को समुदाय द्वारा सक्रिय रूप से सपोर्ट किया जाता है और कई कंपनियाँ इसे प्रोडक्शन एनवायरनमेंट में उपयोग करती हैं।

2. इंस्टॉलेशन

अपने ASP.NET Core प्रोजेक्ट में Carter इंस्टॉल करने के लिए NuGet पैकेज मैनेजर का उपयोग करें। टर्मिनल में निम्नलिखित कमांड में से कोई एक चलाएँ:

dotnet add package Carter

या Visual Studio के पैकेज मैनेजर कंसोल के माध्यम से:

Install-Package Carter

इंस्टॉलेशन के बाद, अपने Program.cs (या पुराने वर्जन में Startup.cs) में Carter को रजिस्टर करना ज़रूरी है:

using Carter;

var builder = WebApplication.CreateBuilder(args);

// DI कंटेनर में Carter जोड़ें
builder.Services.AddCarter();

var app = builder.Build();

// Carter मिडलवेयर कनेक्ट करें
app.MapCarter();

app.Run();

ध्यान दें: .NET (6+) के आधुनिक वर्जन में मिनिमल API का उपयोग होता है, लेकिन Carter अभी भी अधिक जटिल लॉजिक के लिए प्रासंगिक है।

3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

एक नया ASP.NET Core प्रोजेक्ट (खाली या Web API) बनाएँ। ऊपर बताए अनुसार Carter इंस्टॉल करें। फिर एक क्लास बनाएँ जो ICarterModule इंटरफेस को इम्प्लीमेंट करे:

using Carter;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;

public class HomeModule : ICarterModule
{
    public void AddRoutes(IEndpointRouteBuilder app)
    {
        // "/" पथ पर GET एंडपॉइंट परिभाषित करें
        app.MapGet("/", () => "Hello from Carter!");
        
        // पैरामीटर के साथ GET एंडपॉइंट परिभाषित करें
        app.MapGet("/hello/{name}", (string name) => $"Hello, {name}!");
    }
}

अब इस मॉड्यूल को Program.cs में रजिस्टर करें:

using Carter;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCarter();
var app = builder.Build();
app.MapCarter();
app.Run();

एप्लिकेशन चलाएँ और http://localhost:5000/hello/World पर जाएँ। आपको रिस्पॉन्स दिखेगा: Hello, World!।

4. मुख्य तरीके/फंक्शन/क्लासेस

आइए Carter के प्रमुख एलिमेंट्स पर नज़र डालते हैं जिनका आप सबसे अधिक उपयोग करेंगे।

4.1. ICarterModule

ICarterModule इंटरफेस Carter का मुख्य बिल्डिंग ब्लॉक है। इसे इम्प्लीमेंट करके आप अपने एंडपॉइंट को लॉजिकल ग्रुप्स में व्यवस्थित कर सकते हैं। प्रत्येक मॉड्यूल में AddRoutes मेथड होता है जहाँ आप सभी रूट्स को परिभाषित करते हैं।

अनुशंसाएँ