تخطَّ إلى المحتوى

الـ API والـ REST: كيف تتكلم الخدمات

الدرس 4 من 20

الهدف

بنهاية الدرس تعرف الفرق بين GET و POST و PUT و DELETE، تبني GET /api/posts و POST /api/posts في Next.js، وتعرف متى تستخدم أي status code.

ليش هذا الحين؟

ترى كل service على الإنترنت — Stripe، Twilio، Google Maps — يتكلم عبر API. لو ما تفهم REST، ما تقدر تربط خدمة بثانية، وما تقدر توجّه مطورك لبناء endpoints صح. REST مو standard رسمي، بس هو الـ convention اللي كل المطورين يفهمونه.

الفكرة

API = عقد بين برنامجين. يحدد: شنو تطلب، وشنو تتوقع يرجع لك.

REST = استخدام HTTP verbs على resources:

الـ Verb الـ URL العملية
GET /api/posts اجيب قائمة كل البوستات
POST /api/posts سوّ بوست جديد
GET /api/posts/5 اجيب البوست رقم 5
PUT /api/posts/5 عدّل البوست رقم 5
DELETE /api/posts/5 احذف البوست رقم 5

Status codes المهمة:

  • 200 OK — ناجح
  • 201 Created — انضاف (بعد POST)
  • 400 Bad Request — البيانات اللي أرسلتها غلط
  • 401 Unauthorized — ما عندك session / token
  • 403 Forbidden — عندك session بس ما عندك permission
  • 404 Not Found — الـ resource مو موجود
  • 500 Internal Server Error — مشكلة في السيرفر

JSON = لغة الـ API. كل request و response يستخدم JSON. هذا مو اختيار — هالـ standard.

ليش هذي الـ conventions مهمة؟ أي مطور يشوف GET /api/users يفهم فورا إنه يجيب قائمة مستخدمين. ما يحتاج documentation. الـ convention هو الـ documentation.

محتاج مساعدة؟ راسلنا على mj@shakesbeard.net