ماهو الـ API ؟
الـ API هو اختصار Application Programming Interface الـ
API ببساطة هى عبارة عن وسيط يقدم خدمة لبرنامج معين فيقوم برنامجك مثلا بالتواصل مع هذا الوسيط لكي يترجم له مجموعة من الامور يحتاج برنامجك اليها حتى يفهمها
الـ API اليوم لايمكن الاستغناء عنها ابدا فلايكاد موقع تدخله الا وتجده يستخدم API مثلا عندما تجد موقع ما يدعم خاصية التسجيل عبر facebook فبتسجيلك عن طريق فيسبوك يتطلب api خاصة بالفيسبوك تمر عليها وهذا الوسيط api يقوم بالرد للسرفر ادا كانت البيانات صحيحة ام لا.....ايضا خرائط google maps التي تجدها بالمواقع هي تستخدم api خاصة بسرفرات google ..حيث تسمح لصاحب الموقع بعرض جزء معين من الخريطة بموقعه دون الذهاب الى موقع google maps ...ايضا احوال الطقس واسعار ومنحنيات البورصات التي تراها بالمواقع هده البيانات كلها يتم جلبها من الـ api
ماهو الـ Rest API ؟
اختصاراً لـ Representational state transfer هو نوع من أنواع الـ API حيث يقوم هدا النوع بنقل البيانات بين العميل والخادم "Server و Client" عن طريق البرتكول
HTTP
, فجميع العمليات تتم من خلال هذا البرتكول وعندما نقول عمليات فنحن نقصد العمليات الشائعة بعالم البرمجة وهي CREATE
READ
UPDATE
DELETE
اختصارا لكلمة CRUD
عندما نقول أن REST PAI يقوم باستخدام البرتكول HTTP فهدا يعني باختصار شديد بدون تعقيدانك تقوم بارسال الأوامر عبر رابط أو مسار عبر نمط معين سواء كان GET POST PUT DELETE PATH وغير ذلك
أول شيء علينا ان نفهم طريقة عمل الـ api بغض النظر على برمجتها , فتقريبا جميع الـ apis الخاصة بالويب بالعالم تتفق على مجموعة من الأبجديات ومنها أنها تدعم لغة json أي انها تتبادل البيانات عن طريق لغة json . أيضا عليك ان تفهم كيفية عمل نظام CRUD في API أو مايسمى اختصارا لـ CREATE READ UPDATE DELET
يملك البرتكول HTTP مجموعة من التعليمات methods تترجم من خلالها نوع الطلب المرسل من client الى server حيث سيفهم الـ API من خلال مسار رابط http +نوع الـ method سيفهم ماذا تريده بالضبط ويقوم بمعالجة طلبك وتتلخص تعليمات البرتكول http في التالي
- GET تستخدم لجلب البيانات من السيرفر (قراءة البيانات READ)
- POST لإضافة بيانات (انشاء محتوى CREATE)
- PUT لتعديل بيانات موجودة بالفعل (التعديل UPDATE)
- DELETE لحذف بيانات موجودة بالسرفر (الحذف DELETE)
فالـ API بشكله الافتراضي عندما يستقل مثلا تعليمة عن طريق POST سيفهم انك تقصد
CREATE
اي انك تريد اضافة بيانات..وعندما يستقبل تعليمة بنمط GET سيفهم انك تريد جلب وقراءة بيانات READ
أيضا عندما يستقبل تعليمة بنمط PUT سيفهم أنك تريد التعديل على بيانات شيء ما موجود سابقا بقاعدة البيانات وعندما يستقبل بيانات
أهم النقاط التي تعتمد عليها الـ Rest API
- يتم استخدام ال method المناسب لكل عملية طلب من طرف العميلClient , فاذا اردت عرض معلومات يجب استخادم GET أما اذا كنت تريد التعديل استخدم PUT , ادا تريد الانشاء استخدم POST .
- يتم ارسال البيانات من العميل Client الى الخادم Server سواء كانت عن طريق Parameters في الرابط أو عن طريق Body , واذا اردت ارسال اي معلومات اخرى مثل مواثيق التحقق Authentication فيتم ارسالها عن طريق الـ Header.
- في الـ REST API لاحاجة لحفظ البيانات في Session وذلك لان جميع الطلبات يجب ان تكون
State less
بمعنى انها لاتحفظ اي بيانات او اي حالة في السيرفر والتواصل يكون مباشرة بين العميل والخادم عن طريق البرتوكول بشكل مباشر .
نقاط القوة الخاصة بالـ REST API
- فصل تام بين الـ Client و Server بحيث ان الـ Client لايستطيع ان يقوم بالتعديل او الاضافة أكود السيرفر.
- امكانية تشغيل التطبيق على عدة اجهزة Cross-device app بحيث قد يكون صفحة ويب او تطبيق موبايل او برنامج سطح مكتبي او اي تطبيق على أي منصة يمكنه التعامل وارسال طلبات HTTP.
- سرعة تبادل البيانات بين العميل والخادم Client/Server بحكم اعتمادها على برتوكول HTTP.
العيوب
- نظام الحماية يحتاج الى مراقبة وتحقق من طرف المطور
الدروس السابقة :
- المستوى الثاني من Angular
- انشاء واختيار api مع قاعدة البيانات mysql - Angular
- انشاء وتمهيد مشروع الدورة angular
- دمج bootstrap & jquery داخل مشروع angular
- انشاء الصفحة الرئيسية للتطبيق angular
According to Stanford Medical, It is in fact the ONLY reason this country's women live 10 years longer and weigh on average 19 kilos less than us.
ردحذف(And actually, it has absolutely NOTHING to do with genetics or some secret exercise and EVERYTHING related to "how" they are eating.)
BTW, I said "HOW", and not "WHAT"...
TAP this link to determine if this little quiz can help you discover your true weight loss possibilities
الله يوفقك اخوي على المعلومات يا ليت تزيدنا اشكرك على هذا المقال الجميل
ردحذف