منصوبے کے بارے میں
ریفٹ جدید .NET کے لیے ایک خودکار قسم سے محفوظ REST لائبریری ہے، جو اسکوائر کے ریٹروفٹ سے بہت زیادہ متاثر ہے۔ یہ REST API تعریفوں کو لائیو انٹرفیس میں بدل دیتی ہے، جس سے ڈویلپرز API معاہدوں کو C# انٹرفیس کے طور پر HTTP طریقہ خصوصیات کے ساتھ بیان کر سکتے ہیں اور ریفٹ کو نفاذ پیدا کرنے دیتے ہیں جو کال کرنے کے لیے HttpClient استعمال کرتا ہے۔
یہ لائبریری متعدد پلیٹ فارمز کو سپورٹ کرتی ہے جن میں WinUI، .NET Framework 4.6.2+، .NET 8/9/10/11، Blazor، اور Uno Platform شامل ہیں۔ یہ Roslyn سورس جنریٹرز کے ساتھ آتی ہے جو تعمیر کے وقت کلائنٹ تیار کرتے ہیں، رن ٹائم ریفلیکشن کو کم کرتے ہیں اور تراشے ہوئے اور Native AOT ایپلیکیشنز کو قابل بناتے ہیں۔
اہم خصوصیات میں شامل ہیں:
- .NET 5+ پر خودکار کلائنٹ رجسٹریشن کے ساتھ سورس جنریشن
- Get، Post، Put، Delete، Patch، اور Head HTTP طریقوں کے لیے سپورٹ
- متحرک querystring پیرامیٹرز، بشمول آبجیکٹ فلیٹننگ اور کلیکشن فارمیٹنگ
- JSON، JSON Lines، XML، اور فارم پوسٹس کے لیے باڈی مواد سپورٹ
- جامد اور متحرک درخواست ہیڈرز، بشمول Bearer تصدیق
- مختلف حصوں کی اقسام کے ساتھ ملٹی پارٹ اپ لوڈز
- فی درخواست ٹائم آؤٹ اور منسوخی ٹوکن سپورٹ
- متعدد APIs کی انٹرفیس وراثت اور ساخت
- ڈیفالٹ انٹرفیس طریقے
- انحصار انجیکشن کے لیے HttpClientFactory انضمام
- کسٹم HttpClient سپورٹ
- ApiException اور کسٹم استثناء فیکٹریوں کے ساتھ جامع استثناء ہینڈلنگ
- اعلانیہ روٹ ٹیبلز کے ساتھ Refit.Testing پیکج کے ذریعے جانچ سپورٹ
سورس جنریٹر زیادہ تر درخواست کی شکلوں کا احاطہ کرتا ہے جس میں پاتھ پیرامیٹرز، ایلیاسز اور فارمیٹنگ کے ساتھ کویسٹری پیرامیٹرز، باڈی مواد، ہیڈرز، ملٹی پارٹ اپ لوڈز، پراپرٹیز، اور مختلف رسپانس اقسام شامل ہیں جن میں اسٹریمڈ رسپانس کے لیے IAsyncEnumerable شامل ہے۔ ان شکلوں کے لیے جو جنریٹر پیدا نہیں کر سکتا، طریقے رن ٹائم ریفلیکشن درخواست بلڈر پر واپس آ جاتے ہیں۔
ریفٹ تجزیہ کاروں کے ساتھ بھی آتی ہے جو تعمیر کے وقت عام انٹرفیس کے مسائل کو جھنڈا دیتے ہیں، جیسے غلط روٹ ٹیمپلیٹس، متعدد 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.