इस प्रोजेक्ट के बारे में
Refit आधुनिक .NET के लिए एक स्वचालित टाइप-सुरक्षित REST लाइब्रेरी है, जो Square के Retrofit से काफी प्रेरित है। यह REST API परिभाषाओं को लाइव इंटरफेस में बदल देता है, जिससे डेवलपर्स C# इंटरफेस में HTTP मेथड एट्रिब्यूट्स के साथ API कॉन्ट्रैक्ट परिभाषित कर सकते हैं, और Refit उस इम्प्लीमेंटेशन को जनरेट करता है जो कॉल करने के लिए HttpClient का उपयोग करता है।
यह लाइब्रेरी कई प्लेटफॉर्म का समर्थन करती है, जिनमें WinUI, .NET Framework 4.6.2+, .NET 8/9/10/11, Blazor, और Uno Platform शामिल हैं। यह Roslyn सोर्स जनरेटर के साथ आती है जो बिल्ड समय पर क्लाइंट उत्पन्न करते हैं, जिससे रनटाइम रिफ्लेक्शन कम होता है और trimmed तथा Native AOT एप्लिकेशन सक्षम होते हैं।
मुख्य विशेषताएँ शामिल हैं:
- .NET 5+ पर स्वचालित क्लाइंट पंजीकरण के साथ सोर्स जनरेशन
- Get, Post, Put, Delete, Patch, और Head HTTP मेथड्स के लिए समर्थन
- डायनामिक क्वेरीस्ट्रिंग पैरामीटर, जिसमें ऑब्जेक्ट फ्लैटनिंग और कलेक्शन फॉर्मेटिंग शामिल है
- JSON, JSON Lines, XML, और फॉर्म पोस्ट के लिए बॉडी कंटेंट समर्थन
- स्टैटिक और डायनामिक रिक्वेस्ट हेडर, जिसमें Bearer प्रमाणीकरण शामिल है
- विभिन्न पार्ट प्रकारों के साथ मल्टीपार्ट अपलोड
- प्रति-रिक्वेस्ट टाइमआउट और कैंसलेशन टोकन समर्थन
- इंटरफेस इनहेरिटेंस और कई APIs की रचना
- डिफ़ॉल्ट इंटरफेस मेथड्स
- डिपेंडेंसी इंजेक्शन के लिए HttpClientFactory एकीकरण
- कस्टम HttpClient समर्थन
- ApiException और कस्टम एक्सेप्शन फैक्ट्रीज़ के साथ व्यापक एक्सेप्शन हैंडलिंग
- घोषणात्मक रूट टेबल्स के साथ Refit.Testing पैकेज के माध्यम से परीक्षण समर्थन
सोर्स जनरेटर अधिकांश रिक्वेस्ट आकृतियों को कवर करता है, जिसमें पाथ पैरामीटर, एलियास और फॉर्मेटिंग के साथ क्वेरी पैरामीटर, बॉडी कंटेंट, हेडर, मल्टीपार्ट अपलोड, प्रॉपर्टीज़, और स्ट्रीम किए गए रिस्पॉन्स के लिए IAsyncEnumerable सहित विभिन्न रिस्पॉन्स प्रकार शामिल हैं। जिन आकृतियों के लिए जनरेटर उत्सर्जन नहीं कर सकता, वे मेथड्स रनटाइम रिफ्लेक्शन रिक्वेस्ट बिल्डर पर वापस आ जाती हैं।
Refit एनालाइज़र भी भेजता है जो कंपाइल समय पर सामान्य इंटरफेस समस्याओं को चिह्नित करते हैं, जैसे अमान्य रूट टेम्पलेट, कई CancellationToken पैरामीटर, और गलत HeaderCollection प्रकार, यांत्रिक सुधारों के लिए कोड फिक्स के साथ।
लाइब्रेरी कई NuGet पैकेज प्रदान करती है: Refit (कोर), Refit.HttpClientFactory (DI एकीकरण), Refit.Newtonsoft.Json (JSON.NET समर्थन), Refit.Testing (परीक्षण उपयोगिताएँ), और Refit.Reflection (पुराने बिल्ड टूल्स के लिए रनटाइम रिफ्लेक्शन फॉलबैक)।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.