REST في ASP.NET Core
- 3 دقائق
عندما تتصفح صفحة ويب، يتصل خادم الويب بمتصفحاتك باستخدام HTML وCSS وJavaScript. على سبيل المثال، إذا تفاعلت مع الصفحة عن طريق إرسال نموذج تسجيل دخول أو تحديد زر شراء، يرسل المستعرض المعلومات مرة أخرى إلى خادم الويب.
بطريقةٍ مماثلةٍ، يمكن لخوادم الويب الاتصال بنطاقٍ واسعٍ من العملاء (المتصفحات والأجهزة المحمولة وخوادم الويب الأخرى والمزيد) باستخدام خدمات الويب. يتواصل عملاء واجهة برمجة التطبيقات مع الخادم عبر HTTP، ويتبادل الاثنان المعلومات باستخدام تنسيق بيانات مثل JSON أو XML. غالبًا ما تُستخدم واجهات برمجة التطبيقات في التطبيقات أحادية الصفحة (SPA) التي تؤدي معظم منطق واجهة المستخدم في متصفح الويب. التواصل مع خادم الويب يحدث في المقام الأول من خلال واجهات برمجة التطبيقات على شبكة الإنترنت.
REST: نمط شائع لبناء واجهات برمجة التطبيقات باستخدام HTTP
نقل الحالة التمثيلية (REST) هو نمط معماري لبناء خدمات الويب. يتم إجراء طلبات REST عبر HTTP. يستخدمون نفس أفعال HTTP التي تستخدمها متصفحات الويب لاسترداد صفحات الويب وإرسال البيانات إلى الخوادم. الأفعال هي:
-
GET
: استرداد البيانات من خدمة الويب. -
POST
: إنشاء عنصر جديد من البيانات على خدمة الويب. -
PUT
: تحديث عنصر من البيانات على خدمة الويب. -
PATCH
: تحديث عنصر من البيانات على خدمة الويب من خلال وصف مجموعة من الإرشادات بشأن كيفية تعديل العنصر. لا يستخدم نموذج التطبيق في هذه الوحدة هذا الفعل. -
DELETE
: حذف عنصر من البيانات على خدمة الويب.
تُسمى واجهات برمجة التطبيقات لخدمة الويب التي تلتزم بـ REST واجهات برمجة تطبيقات RESTful. تُعرَّف من خلال:
- معرف موارد منتظم أساسي.
- أساليب HTTP، مثل
GET
أوPOST
أوPUT
أوPATCH
أوDELETE
. - نوع وسائط للبيانات، مثل JavaScript Object Notation (JSON) أو XML.
غالبًا ما تحتاج واجهة برمجة التطبيقات (API) إلى تقديم خدمات لعددٍ قليل من الأشياء المختلفة وإن كانت ذات صلة. على سبيل المثال، قد تدير واجهة برمجة تطبيقات البيتزا خاصتنا البيتزا والعملاء والطلبات. نستخدم التوجيه
ميزات إنشاء واجهات برمجة التطبيقات في ASP.NET Core
باستخدام ASP.NET، يمكنك استخدام إطار العمل نفسه والأنماط نفسها لبناء صفحات الويب والخدمات. يمكنك إعادة استخدام فئات النموذج ومنطق التحقق من الصحة، وحتى خدمة صفحات الويب والخدمات جنبا إلى جنب في نفس المشروع. هذا النهج له فوائد:
إنشاء تسلسل بسيط: تم تصميم ASP.NET لتجارب الويب الحديثة. تُنشئ نقاط النهاية تلقائيًا تسلسلًا لفئاتك إلى JSON المُنسَّق تنسيقًا صحيحًا خارج المألوف. لا يلزم تكوين خاص. يمكنك تخصيص التسلسل لنقاط النهاية التي لها متطلبات فريدة.
المصادقة والتخويل: بالنسبة للأمان، تحتوي نقاط نهاية واجهة برمجة التطبيقات على دعم مُضمَّن لرموز JSON Web Tokens (JWTs) المتوافقة مع مقاييس الصناعة. يمنحك التخويل المستند إلى النهج المرونة في تحديد قواعد تحكم الوصول القوية؛ كل ذلك في التعليمات البرمجية.
التوجيه إلى جانب تعليماتك البرمجية: يتيح لك ASP.NET تحديد التوجيهات والأفعال المضمنة مع تعليماتك البرمجية باستخدام السمات. ترتبط البيانات من مسار الطلب وسلسلة الاستعلام وهيكل الطلب تلقائيًا بمعلمات الأسلوب.
HTTPS بشكل افتراضي: HTTPS جزء مهم من واجهات برمجة تطبيقات الويب الحديثة والاحترافية. يعتمد على التشفير من طرف إلى طرف لتحقيق الخصوصية والمساعدة على التأكد من عدم اعتراض استدعاءات واجهة برمجة التطبيقات وتغييرها بين العميل والخادم.
يقدم ASP.NET دعمًا لبروتوكول HTTPS خارج الإطار التقليدي. يُنشئ تلقائيًا شهادة اختبار ويستوردها بسهولة لتمكين HTTPS المحلي حتى تتمكن من تشغيل تطبيقاتك وتتبع أخطائها بأمان قبل نشرها.
شارك التعليمات البرمجية والمعرفة مع تطبيقات .NET
يمكنك استخدام مهارات .NET والنظام البيئي الخاص بك لمشاركة المنطق من واجهة برمجة تطبيقات الويب الخاصة بك إلى تطبيقات أخرى تم إنشاؤها باستخدام .NET، بما في ذلك الجوال والويب وسطح المكتب والخدمات.
اختبار واجهات برمجة تطبيقات الويب باستخدام .NET HTTP REPL
عندما تطوِّر موقع ويب تقليدي، فعادةً ما تعرض عملك وتختبره في متصفح الويب. تقبل واجهات برمجة تطبيقات الويب البيانات وتعيدها بدلًا من HTML، لذا فإن مستعرض الويب ليس أفضل أداة اختبار لواجهة برمجة تطبيقات الويب.
أحد أسهل الخيارات لاستكشاف واجهات برمجة تطبيقات الويب والتفاعل معها هو .NET HTTP REPL (حلقة قراءة وتقييم وطباعة). إنها طريقة بسيطة وشعبية لبناء بيئات سطر الأوامر التفاعلية. في الوحدة التالية، يمكنك إنشاء واجهة برمجة تطبيقات ويب بسيطة ثم التفاعل معها باستخدام .NET HTTP REPL.