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

استقبال مدخلات المستخدم ونصوص JSON (Req Params & Body)

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

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

  • قراءة المتغيرات الممررة عبر الرابط باستخدام req.params.
  • تجهيز معالج express.json() لقراءة بيانات JSON من جسم الطلب req.body.
  • الفرق بين req.params (من URL) و req.body (من النموذج).
  • بناء استجابات JSON منظمة تحتوي على معلومات المنتج والمستخدم.

1. استخراج المدخلات في Express

للوصول للقيم الممررة داخل الرابط مثل /users/:id نعتمد على req.params.id، بينما نقرأ البيانات المعقدة والمرسلة من النماذج بـ req.body.

javascript
// route: POST /api/products/:id
app.post('/api/products/:id', (req, res) => {
  // من الرابط
  const productId = req.params.id;
  
  // من جسم الطلب (JSON)
  const { name, price } = req.body;
  
  res.json({
    productId,
    name,
    price
  });
});

// ⚠️ لا تنسَ تفعيل express.json()
app.use(express.json());

2. مقارنة: params vs body vs query

📎 req.params

من مسار URL

/users/:idreq.params.id
📦 req.body

من جسم الطلب (JSON/Form)

POST /usersreq.body.name
🔍 req.query

من سلسلة الاستعلام

/search?q=testreq.query.q
التطبيق العملي المباشر

تحدي الدرس الرابع: بناء استجابة شاملة

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

  1. أضف خاصية email إلى كائن mockReq.body.
  2. اطبع البريد الإلكتروني بـ console.log داخل getProductDetails.
  3. أضف productId و category إلى كائن الاستجابة المُعاد.
  4. أضف كائناً فرعياً باسم user يحتوي على name و email و age.
⏳ جارٍ تحميل المحرر التفاعلي...