دليل حول طلب POST في NodeJS Express

جرّب إطار عمل NodeJS Express الشهير الذي يمكّن المطورين من تصميم تطبيقات الويب وواجهات برمجة التطبيقات (APIs) بطريقة قوية ومعيارية. ستتناول هذه المقالة كيفية إنشاء طلبات POST باستخدام NodeJS Express!

Amir Hassan

Amir Hassan

12 أغسطس 2025

دليل حول طلب POST في NodeJS Express

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

تعتمد تطبيقات الويب الحديثة على تبادل البيانات بين المستخدمين والخوادم. هذا ما يجعل تفاعلات الويب تعمل. لحسن الحظ، يمكن لمطوري NodeJS استخدام ExpressJS للتعامل بسهولة مع هذا الاتصال.

💡
هل لديك معرفة بـ JavaScript؟ تم كتابة NodeJS و ExpressJS بلغة برمجة JavaScript، لذا تحتاج إلى القليل من المعرفة المسبقة حول هذه اللغة.

ومع ذلك، إذا كنت تفكر في استخدام Apidog، فلا داعي للقلق بشأن تعلم لغة جديدة تمامًا! مع Apidog، يمكنك الاستمتاع بميزة توليد الكود التي يمكن أن تساعدك في JavaScript وغيره من لغات البرمجة!

لفهم ما يمكن أن يقدمه Apidog لك، تأكد من النقر على الزر أدناه!
button

تحتوي العبارة "NodeJS Express POST Requests" على عدد من المصطلحات الهامة. دون فهمها بشكل فردي، قد تصاب بالارتباك، لذا لنتناولها بشكل منفصل.

ما هو NodeJS؟

NodeJS هو بيئة تنفيذ مفتوحة المصدر وعبر المنصات مخصصة بشكل خاص لتشغيل كود JavaScript خارج سياق متصفح الويب التقليدي. توفر هذه الوثيقة استكشافًا شاملاً لـ NodeJS، مع التعمق في وظائفه الأساسية والتحول الذي أدهشه في مجال تطوير البرمجيات.

الميزات الرئيسية لـ NodeJS

غير متزامن ومدفوع بالأحداث

تستخدم NodeJS خيطًا واحدًا، لكن لا تدع البساطة تخدعك. تستخدم نهجًا ذكيًا يسمى بنية المعمارية المدفوعة بالأحداث. يعني هذا أن NodeJS يتعامل بكفاءة مع الطلبات المتعددة مثل النادل الذي يتعامل مع مطعم مزدحم. عندما يصل طلب، يتم تسجيله كحدث. ثم تحتفظ NodeJS بسجل لهذه الأحداث وتقوم بتفعيل الوظائف (ردود الفعل) لمعالجتها عندما تصبح جاهزة. هذه الطبيعة غير المتزامنة تتيح لـ NodeJS التميز في التعامل مع المهام التي تتضمن الانتظار، مثل طلبات الشبكة، دون إبطاء النظام بأكمله.

JavaScript على الخادم

تقليديًا، كانت ساحة لعب JavaScript هي متصفح الويب، حيث جعلت صفحات الويب تفاعلية. تكسر NodeJS هذه الحاجز من خلال إنشاء بيئة تنفيذ قوية تعزز تشغيل كود JavaScript خارج المتصفح - على الخادم. هذه الابتكار يعد نقطة تحول للمطورين. يمكنهم الآن الاستفادة من معرفتهم الحالية بـ JavaScript لتطوير كل من الواجهة الأمامية (واجهة المستخدم) والواجهة الخلفية (منطق جانب الخادم)، مما يسهل العملية برمتها.

NPM

تعمل NPM، وهي ميزة مدمجة في NodeJS، كمستودع مركزي يضم مجموعة واسعة من وحدات الكود المكتوبة مسبقًا والمكتبات. يمكن للمطورين الاستفادة من NPM للبحث عن الوظائف المحددة التي يحتاجونها، وتنزيلها بسهولة، ودمجها في تطبيقاتهم. يسرع نظام المكتبة الواسع هذا من تطوير البرمجيات وتمكين المطورين من دمج مجموعة واسعة من الميزات دون الحاجة إلى البدء من الصفر.

قابلية التوسع ذات الخيط الواحد مع I/O غير المحجوز

بينما تستخدم NodeJS خيطًا واحدًا، فإنها تحقق قابلية توسع مثيرة للإعجاب من خلال تقنية تسمى I/O غير المحجوز. وهذا يعني أن NodeJS لا تنتظر إتمام المهام البطيئة (مثل طلبات الشبكة) قبل معالجة الطلبات الأخرى. بدلاً من ذلك، تنتقل بذكاء إلى الطلب التالي مع تتبع عملية I/O المعلقة. بمجرد أن تنتهي المهمة البطيئة، تعود NodeJS وتتعامل مع الاستجابة.

أدوات HTTP المدمجة

تأتي NodeJS مجهزة مسبقًا بجميع الأدوات اللازمة لبناء خوادم الويب. تبسط وحدات HTTP المدمجة عملية التطوير من خلال السماح للمطورين بإنشاء خوادم HTTP قوية والتعامل مع طرق HTTP المختلفة (GET، POST، PUT، DELETE) بسهولة.

مجتمع مفتوح المصدر نشط

تستفيد NodeJS من مجتمع مفتوح المصدر واسع ونشط. يعني هذا وجود ثروة من الموارد المتاحة بسهولة للمطورين. الوثائق الشاملة، والدروس، والمنتديات هي مجرد بعض الأمثلة على الدعم الذي يقدمه المجتمع. بالإضافة إلى ذلك، تتيح الطبيعة المفتوحة المصدر لأي شخص المساهمة في نمو المشروع والاستفادة من المعرفة والخبرة الجماعية للمجتمع.

ما هو Express؟

Express، المعروف أيضًا بـ ExpressJS، هو إطار عمل تطبيقات ويب بارز مبني على أساس NodeJS. يعمل كطبقة تجريدية قوية، موفرًا مستوى أعلى من التطوير مقارنةً بالإمكانات الخام لـ NodeJS. يترجم هذا التجريد إلى تقليل كبير في كود boilerplate، مما يسرع عملية تطوير تطبيقات الويب وواجهات برمجة التطبيقات.

الميزات الرئيسية لـ ExpressJS

تطوير مبسط مع التجريديات

توفر NodeJS منصة قوية لتنفيذ JavaScript على جانب الخادم، لكنها قد تنطوي على كتابة كود على مستوى منخفض للوظائف الشائعة في تطبيقات الويب. يعمل ExpressJS كطبقة تجريدية، موفرًا ميزات وهياكل معدة مسبقًا تسهل التطوير.  يترجم هذا إلى كود أقل من boilerplate وتركيز على منطق التطبيق الخاص بك.

نظام توجيه أنيق

يفتخر ExpressJS بنظام توجيه قوي يسمح للمطورين بتعريف المسارات باستخدام طرق واضحة وموجزة. يمكنك تعريف مسارات لروابط URL المختلفة (مثل "/products"، "/about-us") وربطها بوظائف معينة (معالجات) التي تتعامل مع طلب المستخدم لتلك الصفحة المحددة. تعزز هذه الفصل الواضح للمسؤوليات تنظيم الكود وسهولة الصيانة.

وظائف معيارية مع Middleware

الـ Middleware مفهوم قوي يسمح للمطورين بتعريف وظائف تعمل كوسيط بين الطلبات الواردة والاستجابات الصادرة. يمكن لكل وظيفة Middleware أداء مهام محددة مثل تسجيل الطلبات، وتحليل البيانات من جسم الطلب (مثل بيانات النماذج، JSON)، أو تنفيذ فحوصات المصادقة.  تتسلسل وظائف Middleware معًا، وتنتقل الطلبات عبر هذه السلسلة، مما يسمح بوظائف معيارية وقابلة لإعادة الاستخدام عبر تطبيقك.

محتوى ديناميكي مع محرك القوالب

تتطلب تطبيقات الويب غالبًا إنشاء محتوى ديناميكي استنادًا إلى إدخال المستخدم أو استرجاع البيانات. يتكامل ExpressJS بسلاسة مع مجموعة متنوعة من محركات القوالب مثل Pug (الذي كان يُعرف سابقًا باسم Jade) أو EJS (JavaScript المضمنة).  توفر هذه المحركات للمطورين وسيلة لتحديد القوالب التي تعمل كخطط لصفحات HTML. يمكن أن تحتوي القوالب على عناصر نائبة للمحتوى الديناميكي. في وقت التشغيل، تملأ ExpressJS هذه العناصر النائبة بالبيانات من التطبيق الخاص بك، مما ينتج المحتوى النهائي لـ HTML الذي يتم تسليمه إلى متصفح المستخدم.

أدوات HTTP مدمجة

يستفيد ExpressJS من وحدات HTTP المدمجة التي تأتي مع Node.js. يمنح هذا الإرث المطورين القدرة على إنشاء خوادم ويب بسهولة، والتعامل مع طلبات واستجابات HTTP، وإدارة طرق HTTP المختلفة (GET، POST، PUT، DELETE) بسهولة.  لا تحتاج إلى كتابة كود معقد من الصفر لإعداد وظائف الخادم الأساسية.

نظام مكتبة واسع الغير مصنف

تمامًا كما نمت Node.js مع NPM (مدير حزم Node)، يستفيد ExpressJS من نظام واسع من المكتبات والأدوات من طرف ثالث. يمكن دمج هذه الوحدات المعدة مسبقًا بسهولة في تطبيق ExpressJS الخاص بك، مما يوسع وظيفته ويضيف ميزات مثل مصادقة المستخدم، وتفاعلات قاعدة البيانات، وتحميل الملفات، أو المراسلة في الوقت الحقيقي.

كيف تصنع طلبات POST عبر NodeJS Express؟

ستوجهك هذه القسم حول كيفية البدء في صنع طلبات POST باستخدام NodeJS Express!

المتطلبات المسبقة

أولاً، يجب عليك التأكد من تثبيت NodeJS و npm (مدير الحزم Node) على نظامك. يمكنك التحقق من تثبيتهما عن طريق تشغيل node -v و npm -v في terminal الخاص بك.

الخطوة 1 - تثبيت ExpressJS

الآن بعد أن تم إعداد مشروعك، دعنا نثبت ExpressJS. في terminal الخاص بك، داخل دليل المشروع، شغل السطر التالي من الكود. سيؤدي ذلك إلى تنزيل وتثبيت ExpressJS كاعتماد لمشروعك.

npm install express

الخطوة 2 - إنشاء ملف خادم

قم بإنشاء ملف JavaScript جديد باسم server.js داخل دليل المشروع الخاص بك. سيحتوي هذا الملف على كود خادم Express الخاص بك.

الخطوة 3 - استيراد Express وتعريف التطبيق

افتح ملف server.js في محرر الأكواد الخاص بك وأضف السطر التالي من الكود:

const express = require('express');

ثم، أنشئ مثيل تطبيق Express:

const app = express();

الخطوة 4 - تعريف المسار والتعامل مع طلبات POST:

استخدم طريقة app.post لتحديد مسار URL والدالة التي ستتعامل مع الطلب:

app.post('/your-endpoint', (req, res) -> {
	// التعامل مع منطق طلب POST هنا
});

عند تنفيذ مقاطع الكود، تأكد من استبدال /your-endpoint بمسار URL الفعلي الذي تنوي تلقي طلبات POST عليه.

تقبل الوظائف المرسلة إلى app.post حجة من اثنين:

الخطوة 5 - الوصول إلى بيانات POST

داخل الوظيفة التي تتعامل مع طلب POST، يمكنك الوصول إلى البيانات المرسلة في جسم الطلب باستخدام كائن req.body - إنه كائن JavaScript يحتوي على أزواج من المفتاح والقيمة الخاصة بالبيانات المرسلة في جسم الطلب.

app.post('/your-endpoint', (req, res) => {
    const name = req.body.name; // بافتراض أن البيانات تحتوي على مفتاح 'name'
    const message = req.body.message; // بافتراض أن البيانات تحتوي على مفتاح 'message'
    // معالجة البيانات هنا (على سبيل المثال، تخزينها في قاعدة البيانات، إرسال بريد إلكتروني)
    res.send('تم استلام طلب POST بنجاح!');
});

الخطوة 6 - إرسال استجابة

بعد معالجة البيانات من طلب POST، يمكنك إرسال استجابة مرة أخرى إلى العميل باستخدام كائن res.

app.post('/your-endpoint', (req, res) => {
    // ... (معالجة البيانات)
    res.send('تم استلام طلب POST بنجاح!');  // إرسال رسالة بسيطة
    // أو
    res.json({ message: 'تم استلام البيانات ومعالجتها بنجاح!' });  // إرسال بيانات JSON
});

الخطوة 7 - بدء الخادم

أخيرًا، ابدأ الخادم عن طريق الاستماع على منفذ معين باستخدام طريقة app.listen. عادةً، يكون رقم المنفذ المستخدم للتطوير هو 3000، كما هو موضح في عينة الكود أدناه:

app.listen(3000, () => {
    console.log('الخادم يستمع على المنفذ 3000!');
});

Apidog - تسريع طلبات GET في Express باستخدام توليد الكود

سّرع تطوير واجهات برمجة التطبيقات والتطبيقات من خلال التفكير في استخدام Apidog، وهي منصة شاملة لتطوير واجهات برمجة التطبيقات التي تحتوي على ميزة توليد الكود للغة البرمجة JavaScript.

واجهة apidog
button

دعونا نلقي نظرة على كيفية توليد كود عميل JavaScript في بضع نقرات فقط.

توليد كود JavaScript بسرعة لتطبيقك باستخدام Apidog

سيركز هذا القسم على كيفية توليد كود JavaScript (أو لغات برمجة أخرى متاحة) لتطبيقك.

توليد كود عميل apidog

أولاً، حدد زر </> الموجود في الزاوية العلوية اليمنى من الشاشة. إذا كنت تواجه صعوبة في تحديد موقع الزر، يمكنك الرجوع إلى الصورة أعلاه.

توليد كود unirest جافا سكريبت من apidog

واصل من خلال اختيار لغة برمجة العميل التي تحتاج إلى استخدامها. لديك القوة للاختيار بين مكتبات JavaScript التي تشعر بالراحة في استخدامها.

كل ما تحتاجه هو نسخ ولصق الكود إلى IDE الخاص بك، ومواصلت تحريره للتأكد من أنه يتناسب مع تطبيق NodeJS الخاص بك! ومع ذلك، إذا كنت حريصًا على استخدام Unirest كما هو موضح في الصورة أعلاه، يمكنك الرجوع إلى المقالة هنا:

button

اختبر واجهات برمجة التطبيقات باستخدام Apidog

يوفر Apidog للمطورين واجهة مستخدم مريحة وجميلة لتصحيح واجهات برمجة التطبيقات.

قم بتوفير نقطة النهاية لواجهة برمجة التطبيقات في الشريط المميز بالسهم في الصورة أعلاه.

إذا لم تكن متأكدًا من كيفية استخدام معلمات متعددة في URL، يمكن أن يوجهك هذا المقال حول كيفية الوصول إلى المورد الدقيق ضمن مجموعات البيانات الأكبر!

عرض استجابة apidog

بمجرد أن تكون متأكدًا من واجهة برمجة التطبيقات الخاصة بك، يمكنك النقر على Send، الذي يرسل الطلب إلى واجهة برمجة التطبيقات. يجب أن تتوقع استجابة كاملة. نظرة خاطفة على رمز الحالة تخبرك ما إذا كانت ناجحة. يمكنك أيضًا فحص الاستجابة الخام، التي تُظهر هيكل البيانات الدقيق الذي يحتاجه الكود لديك لفهم المعلومات من خوادم واجهة برمجة التطبيقات.

button

الخاتمة

توفر NodeJS و Express تركيبة قوية لبناء تطبيقات الويب الحديثة التي تتفاعل مع البيانات. من خلال الاستفادة من نظام التوجيه ومهارات Middleware في Express، يمكن للمطورين التعامل بكفاءة مع طلبات POST، وهي العملة الأساسية لتقديم النماذج، وتبادل البيانات على الويب. بفضل أدوات مثل body-parser لتحليل أجسام الطلبات، يصبح الوصول إلى البيانات ومعالجتها أمرًا سهلاً.

يمكّن هذا المطورين من إنشاء تطبيقات يمكنها جمع إدخال المستخدم، وتخزين البيانات في قواعد البيانات، أو بدء إجراءات بناءً على المعلومات المستلمة.  تجعل سهولة الاستخدام والمرونة التي توفرها NodeJS و Express خيارًا جذابًا للمطورين الذين يتطلعون لبناء تطبيقات ويب ديناميكية ومرتبطة بالبيانات.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات

دليل حول طلب POST في NodeJS Express