عن المشروع

Refit هي مكتبة REST تلقائية وآمنة من حيث الأنواع لمنصة .NET الحديثة، مستوحاة بشكل كبير من مكتبة Retrofit الخاصة بشركة Square. تحول تعريفات واجهات برمجة تطبيقات REST إلى واجهات حية، مما يسمح للمطورين بتعريف عقود API كواجهات C# مع سمات طرق HTTP، وتقوم Refit بتوليد التنفيذ الذي يستخدم HttpClient لإجراء الاستدعاءات. تدعم المكتبة منصات متعددة بما في ذلك WinUI و.NET Framework 4.6.2+ و.NET 8/9/10/11 وBlazor وUno Platform. تأتي مع مولدات مصدر Roslyn التي تنتج العملاء في وقت البناء، مما يقلل من الانعكاس في وقت التشغيل ويمكن من تطبيقات trimmed وNative AOT. تشمل الميزات الرئيسية: - توليد المصدر مع تسجيل تلقائي للعملاء على .NET 5+ - دعم طرق HTTP: Get وPost وPut وDelete وPatch وHead - معلمات سلسلة الاستعلام الديناميكية، بما في ذلك تسطيح الكائنات وتنسيق المجموعات - دعم محتوى الجسم لـ JSON وJSON Lines وXML ونماذج النشر - رؤوس طلبات ثابتة وديناميكية، بما في ذلك مصادقة Bearer - تحميلات متعددة الأجزاء بأنواع مختلفة - مهلات لكل طلب ودعم رموز الإلغاء - وراثة الواجهات وتكوين واجهات برمجية متعددة - طرق الواجهة الافتراضية - تكامل HttpClientFactory لحقن التبعية - دعم HttpClient مخصص - معالجة شاملة للاستثناءات مع ApiException ومصانع استثناءات مخصصة - دعم الاختبار عبر حزمة Refit.Testing مع جداول توجيه تعريفية يغطي مولد المصدر معظم أشكال الطلبات بما في ذلك معلمات المسار ومعلمات الاستعلام مع الأسماء المستعارة والتنسيق ومحتوى الجسم والرؤوس والتحميلات متعددة الأجزاء والخصائص وأنواع الاستجابات المختلفة بما في ذلك IAsyncEnumerable للاستجابات المتدفقة. بالنسبة للأشكال التي لا يمكن للمولد إنتاجها، تعود الطرق إلى منشئ طلبات الانعكاس في وقت التشغيل. توفر Refit أيضًا محللات تحدد مشكلات الواجهة الشائعة في وقت الترجمة، مثل قوالب المسار غير الصالحة ومعلمات CancellationToken المتعددة وأنواع HeaderCollection غير الصحيحة، مع إصلاحات برمجية للتصحيحات الميكانيكية. توفر المكتبة حزم NuGet متعددة: Refit (الأساسية) وRefit.HttpClientFactory (تكامل حقن التبعية) وRefit.Newtonsoft.Json (دعم JSON.NET) وRefit.Testing (أدوات الاختبار) وRefit.Reflection (الانعكاس في وقت التشغيل كبديل لأدوات البناء الأقدم).