NahdaAIنهضة
Node.js • المستوى الثاني • الدرس 2

التوجيه وطرق الطلبات (Express Routing & HTTP Methods)

العودة لفهرس المستوى

أهداف الدرس العلمية

  • التعرف على بروتوكولات RESTful APIs الأربعة: GET, POST, PUT, DELETE.
  • ربط كل دالة بطلبها المناسب داخل خادم Express.
  • التمييز بين POST (إنشاء) و PUT (تحديث كامل) و PATCH (تحديث جزئي).
  • بناء نظام توجيه ديناميكي لميثودات HTTP.

1. ميثودات HTTP في بناء REST APIs

نستخدم app.get() لقراءة البيانات، app.post() لإرسال وإنشاء بيانات جديدة، app.put() للتعديل، و app.delete() لحذف البيانات.

javascript
// REST API كامل على مسار /api/users
app.get('/api/users', (req, res) => {
  res.json([{ id: 1, name: 'أحمد' }]);
});

app.post('/api/users', (req, res) => {
  res.status(201).json({ created: true });
});

app.put('/api/users/:id', (req, res) => {
  res.json({ updated: req.params.id });
});

app.delete('/api/users/:id', (req, res) => {
  res.json({ deleted: req.params.id });
});

2. جدول ميثودات HTTP

📥 GET

قراءة البيانات. لا يُعدّل شيئاً.

GET /api/users
📤 POST

إنشاء بيانات جديدة.

POST /api/users
✏️ PUT

تحديث البيانات كاملة.

PUT /api/users/1
🗑️ DELETE

حذف البيانات.

DELETE /api/users/1
التطبيق العملي المباشر

تحدي الدرس الثاني: إضافة طريقة PUT

قم بالتعديل على الكود في المحرر أدناه:

  1. أضف ميثود PUT /api/users إلى كائن routes بقيمة تُعيد: "تحديث بيانات مستخدم موجود ✏️".
  2. أضف اختباراً لـ handleApiRequest("PUT", "/api/users").
  3. أضف اختباراً لميثود غير مدعوم مثل PATCH لترى كيف يعمل fallback الـ "مسار غير معروف".
⏳ جارٍ تحميل المحرر التفاعلي...