عرض تجريبي بسيط لـ Web API مع وثائق Swagger ، ومعالجة الأخطاء المخصصة ، واختبارات الوحدة ، و JSONPATCH ، واختبار HTTPCLIENT. يتميز مقاطع فيديو YouTube بأسلوب تعليمي لبعض الموضوعات.
الهدف من مشروع GitHub هذا هو عرض تطبيق API Crud Web Simple مع برامج تعليمية إضافية (بما في ذلك مقاطع فيديو YouTube) والمراجع بما في ذلك Swagger ، واختبار الوحدة ، و jsonpatch ، ومعالجة الأخطاء المخصصة وعرضها ، ومختبرات العميل ، وما إلى ذلك.
يحتوي حل Visual Studio على ثلاثة مشاريع: Contosopizza (Web API) ، و Contosopizza.tests (اختبارات الوحدة) ، و WebapicLient (تطبيق وحدة HTTPClient بسيطة)

فيما يلي مراقبة وحدة التحكم والنموذج والخدمة مع ملخص عضو في مشروع Contosopizza Web API.

هذا هو واجهة برمجة تطبيقات ويب بسيطة تتبع نمط CRUD القياسي (إنشاء ، قراءة ، تحديث ، وحذف). تظهر الصور التجريبية لعمليات API أدناه حسب الفئة.






فيما يلي بعض التقاطات الشاشة التي تعرض عرض الويب الخاص بـ API Jsonpatch.


هنا مرجع الرمز.
[
{
"value": "ModifiedPizza",
"path": "/name",
"op": "replace"
}
]

هذا مقطع فيديو مرجعي تعليمي رائع إذا كنت ترغب في معرفة المزيد حول الإعداد والتثبيت واستخدام JsonPatch لمشروع API الخاص بك على الويب.
تحديث البيانات مع JSONPATCH | سلسلة المبتدئين إلى ويب واجهات برمجة التطبيقات
JSONPATCH في ASP.NET CORE WEB API
سيوضح هذا البرنامج التعليمي والمشروع التجريبي كيفية إعداد وتكوين ورمز معالج خطأ مخصص بسيط لمشروع Contoso Pizza Web API.
يجب على المطورين التخطيط للأخطاء غير المعلنة في الكود. يوضح مشروع Contoso Pizza Web API كيفية القيام بذلك. في العرض التوضيحي ، يتم إنشاء نقطة النهاية التي ترمي دائمًا استثناء غير معقول. يحتوي المشروع على وحدة تحكم خطأ مخصصة تتولى وتسجيل الاستثناءات قبل إرجاع كائن نموذج مشكلة قياسي إلى المستخدم. يتم تحديد وحدة تحكم الخطأ في تكوين البرنامج لتوجيه إلى وحدة تحكم خطأ مخصصة عند عدم تشغيلها في بيئة تطوير. يتم تحديد بيئة التطوير ضمن إعدادات ملف تعريف إطلاق Debug ، حيث تكون القيمة الافتراضية هي الإنتاج ما لم ينص على خلاف ذلك.
لمعرفة الاختلافات في عرض الخطأ بين التطوير والإنتاج ، قم بتشغيل واجهة برمجة التطبيقات أولاً في وضع التطوير. اختبر نقطة النهاية التي تؤدي دائمًا إلى استثناء غير معبأ. في واجهة المستخدم Swagger ، يمكنك رؤية تفاصيل الاستجابة والاستثناء. تحتوي نافذة المتصفح على عرض مطور منفصل وأنيق لنتائج الخطأ.
لتشغيل واجهة برمجة التطبيقات في وضع الإنتاج ، قم بإزالة متغير البيئة أو ضبط القيمة يدويًا على الإنتاج. نظرًا لأن Swagger UI لا يعمل في وضع الإنتاج ، فستحتاج إلى اختبار نقطة نهاية API يدويًا بعنوان URL. النتيجة النهائية للمستخدم هي خطأ عام مع معرف. سيقوم المستخدم بإنشاء تذكرة مشكلة مع هذه المعلومات. يمكن للشركة بعد ذلك إكمال استكشاف الأخطاء وإصلاحها التفصيلية التي تتطابق مع معرف الخطأ إلى تسجيل داخلي أكثر تفصيلاً.

سيوضح لك هذا البرنامج التعليمي والمشروع التجريبي كيفية إضافة وثائق Swagger وتكوينها والتحقق منها إلى مشروع WebAPI للمطور. النتائج النهائية موجودة في هذا الرمز.
Swashbuckle و Swagger هما أداتان شائعتان تستخدمان لتوليد وثائق المطور لواجهة برمجة التطبيقات على الويب. SwashBuckle عبارة عن حزمة يمكن إضافتها إلى مشروع ASP.NET Core Web API لدمج واجهة المستخدم Swagger. يحتوي على ثلاثة مكونات رئيسية: swashbuckle.aspnetcore.swagger ، وهو نموذج كائن Swagger وبرامج وسيطة لفضح كائنات SwaggerDocument كنقاط نهاية JSON ؛ swashbuckle.aspnetcore.swaggergen ، وهو مولد تباهي يبني كائنات SwaggerDocument مباشرة من طرقك وأجهزة التحكم والنماذج ؛ و swashbuckle.aspnetcore.swaggerui ، وهي نسخة مضمنة من أداة واجهة المستخدم Swagger. يفسر Swagger JSON لبناء تجربة غنية وقابلة للتخصيص لوصف وظائف API على الويب. Swagger (OpenAPI) هي مواصفات غنية باللغة لوصف واجهات برمجة التطبيقات REST. يسمح لكل من أجهزة الكمبيوتر والبشر بفهم قدرات واجهة برمجة تطبيقات REST دون الوصول المباشر إلى الرمز المصدري. تتمثل أهدافها الرئيسية في تقليل مقدار العمل اللازم لربط الخدمات المنفصلة. ¹ ⁴

سيوضح هذا البرنامج التعليمي والمشروع التجريبي كيفية إعداد وتكوين ورمز httpclient بسيط لمشروع API Contoso Pizza Web API.
في مقطع الفيديو على موقع YouTube هذا ، سنتعلم كيفية إنشاء مشروع تطبيق وحدة تحكم بسيط يتصل بواجهة برمجة تطبيقات الويب واختباره. يتضمن الفيديو عرضًا قصيرًا لنتائج تشغيل المشروع والإخراج من API. سنحصل على ملف OpenAPI عن طريق تشغيل WebAPI محليًا لإظهار واجهة مستخدم Swagger. يمكن تنزيل ملف JSON لواجهة برمجة تطبيقات الويب الخاصة بنا وحفظه في دليل المشروع الخاص بنا. يوجد مقطع فيديو آخر في سلسلة قائمة التشغيل يوضح كيفية إعداد وتكوين وثائق Swagger. والخطوة التالية هي إضافة مشروع تطبيق وحدة تحكم جديدة إلى حلنا. سيكون هذا هو تطبيق HTTPCLIENT للاتصال بأجهزة واجهة برمجة تطبيقات الويب الخاصة بنا. بعد ذلك ، سنضيف مرجع خدمة OpenAPI من ملف Swagger UI JSON الذي قمنا بحفظه مسبقًا. ستقوم Visual Studio بتوضيح فئة رمز العميل اللازمة للتفاعل مع API Contoso Pizza Web. سوف نلقي نظرة على فئة الكود المولدة تلقائيًا. يحتاج المُنشئ على كل من مثيل كائن HTTPCLIENT وعنوان URL الأساسي لواجهة برمجة تطبيقات الويب قيد التشغيل. إذا قمت بتشغيل واجهة برمجة تطبيقات الويب الخاصة بك محليًا ، فيمكنك العثور على ذلك من ملف تعريف إطلاق التصحيح. أخيرًا ، يمكننا ترميز مشروعنا لإنشاء مرجع خدمة HTTPClient و Proxy إلى واجهة برمجة تطبيقات Contoso UI Pizza Web ومحاولة استرداد بعض البيتزا. تأكد من تشغيل تطبيق API على الويب محليًا قبل تشغيل تطبيق HTTPClient Console.

سيوضح هذا البرنامج التعليمي والمشروع التجريبي كيفية إعداد وتكوين وتصنيف اختبارات الوحدة البسيطة لمشروع WebAPI.
في هذا الفيديو ، سنناقش كيفية كتابة اختبارات الوحدة البسيطة لواجهة برمجة تطبيقات الويب مع عمليات تحكم CRUD. سوف نستخدم حزم Xunit و Fakeiteasy لكتابة الاختبارات. سنقوم بتغطية أساسيات اختبار الوحدة ، بما في ذلك كيفية إعداد مشروع الاختبار ، وكيفية كتابة اختبارات لكل عملية Crud ، وكيفية استخدام Xunit و FakeIteasy لإنشاء Mocks و Stills. سنناقش أيضًا أفضل الممارسات لكتابة اختبارات الوحدات ، مثل الحفاظ على اختبارات المستقلة وضمان سهلة القراءة والصيانة.

على الرغم من الرجوع إلى البرامج التعليمية ومقاطع الفيديو والوثائق ، إلا أن هذا المشروع هو رمز وأسلوب خاص بي لتجربة خبرتي التقنية والمساهمة في المعرفة التقنية الجماعية على Github. لقد أدرجت بعض المصادر التي رسمت فيها بعض أمثلة التعليمات البرمجية والمعرفة.
سلسلة المبتدئين إلى: ويب واجهات برمجة التطبيقات
Microsoft Learn - إنشاء واجهة برمجة تطبيقات على شبكة الإنترنت مع وحدات التحكم الأساسية ASP.NET
المصدر: محادثة مع Bing ، 11/10/2023 (1) بدأت مع Swashbuckle و ASP.NET Core. https: //learn.microsoft.com/en-us/asp .... (2) وثائق ASP.NET Core Web API مع Swagger/Openapi. https: //learn.microsoft.com/en-us/asp .... (3) ما هو swagger و swashbuckle و swashbuckle ui. https: //stackoverflow.com/questions/4 .... (4) تحسين تجربة المطور من واجهة برمجة التطبيقات مع وثائق Swagger ....
JSONPATCH في ASP.NET CORE WEB API