Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

دليل بسيط لطلبات الحذف في NodeJS Express

هل تفكر في تطوير تطبيقات الويب أو واجهات برمجة التطبيقات؟ يعتبر Node.js Express إطار عمل معترف به على نطاق واسع، حيث يبسط ويُنظم عملية التطوير من خلال توفير نهج متسق ومنظم. تعلم المعرفة اللازمة لتنفيذ طلبات الحذف باستخدام NodeJS Express.

Amir Hassan

Amir Hassan

Updated on نوفمبر 29, 2024

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

زر

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

لنلقِ نظرة على الأطر الأساسية لفهمها قبل الغوص في كيفية إجراء طلبات DELETE في NodeJS Express.

ما هو NodeJS؟

NodeJS (أو Node.js) هو بيئة تشغيل مفتوحة المصدر، متعددة الأنظمة، مبنية على محرك V8 JavaScript الخاص بـ Chrome. يسمح للمطورين باستخدام JavaScript لكتابة نصوص الخادم وإنشاء تطبيقات شبكة قابلة للتوسع.

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

JavaScript في كل مكان

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

معمارية تعتمد على الأحداث

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

إدخال / إخراج غير متزامن

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

نظام بيئي غني وNPM (مدير حزم Node)

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

قابلية التوسع

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

ما هو Express؟

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

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

تطوير منظم

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

توجيه الطلبات

وظيفة أساسية في ExpressJS هي نظام التوجيه. يسمح التوجيه للمطورين بربط عناوين URL بوظائف معينة داخل تطبيقهم. establishes This mapping establishes علاقة واضحة بين الطلبات الواردة والإجراءات المقابلة التي يجب أن يتخذها التطبيق، مما يجعل الشفرة أكثر وضوحًا وأسهل في الفهم.

البرمجيات الوسيطة

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

محركات القوالب

تتكامل ExpressJS بسلاسة مع مختلف محركات القوالب مثل EJS، Pug، أو Handlebars. تتيح هذه المحركات للمطورين إنشاء صفحات HTML ديناميكية عن طريق دمج HTML مع محتوى يتم إنشاؤه على جانب الخادم. يُحسن هذا الفصل بين الاهتمامات من تنظيم وصيانة قاعدة الشفرة الخاصة بك.

المجتمع والنظام البيئي

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

كيفية إجراء طلبات DELETE في NodeJS Express؟

قبل إجراء طلبات DELETE، يجب أن تقوم بإعداد نظامك.

متطلبات إعداد النظام

أولاً، ستحتاج إلى تثبيت NodeJS وNPM على نظامك. تابع بإنشاء دليل مشروع:

mkdir nodejs-delete-request

بعد ذلك، انتقل إلى دليل المشروع:

cd nodejs-delete-request

تابع بتهيئة مشروع NodeJS:

npm init -y

أخيرًا، قم بتثبيت Express عن طريق تشغيل هذا السطر في الطرفية:

npm install express

بناء مسار DELETE

ابدأ بإنشاء ملف باسم server.js في دليل مشروعك. يمكن رؤية مثال للشفرة أدناه.

const express = require('express');

const app = express();
const port = 3000;

// متجر بيانات في الذاكرة (استبداله بقاعدة بيانات للتطبيقات الحقيقية)
let data = [
  { id: 1, name: "العنصر 1" },
  { id: 2, name: "العنصر 2" },
  { id: 3, name: "العنصر 3" },
];

// مسار DELETE لإزالة البيانات بواسطة ID
app.delete('/api/data/:id', (req, res) => {
  const id = parseInt(req.params.id); // تحليل ID من معامل عنوان URL
  const index = data.findIndex(item => item.id === id);

  // تحقق مما إذا كانت البيانات موجودة لـ ID
  if (index === -1) {
    return res.status(404).send("البيانات غير موجودة");
  }

  // إزالة البيانات من المصفوفة باستخدام splice
  data.splice(index, 1);

  res.json({ message: "تم حذف البيانات بنجاح" });
});

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

شرح الشفرة:

  1. نستورد Express وننشئ مثيلًا لتطبيق Express.
  2. تعمل مصفوفة البيانات النموذجية كمكان مؤقت (سيتم استخدام قاعدة بيانات في الإنتاج).
  3. يلتقط مسار DELETE (/api/data/:id) معامل ID من عنوان URL.
  4. نقوم بتحليل ID إلى عدد صحيح للمقارنة.
  5. يتم استخدام findIndex لتحديد موقع كائن البيانات مع ID المطابق.
  6. إذا لم يتم العثور على البيانات، يتم إرسال استجابة خطأ 404.
  7. إذا وُجدت، تتم إزالة كائن البيانات من المصفوفة عند الفهرس المحدد باستخدام splice.
  8. وأخيرًا، يتم إرسال رسالة نجاح مرة أخرى في الاستجابة.

استخدام Apidog لاختبار طلب DELETE الخاص بك

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

واجهة Apidog
زر

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

لضمان إجراء طلبات DELETE بشكل صحيح، يمكنك اختبار كل طلب بشكل فردي.

لاختبار نقطة نهاية، ببساطة أدخل عنوان URL الخاص بها. تشمل أي معلمات ضرورية محددة لتلك النقطة النهائية. هل تشعر بعدم اليقين بشأن عناوين URL المعقدة مع معلمات متعددة؟ توفر مورد منفصل (غير متضمن هنا) إرشادات حول كيفية استهداف بيانات محددة ضمن مجموعات بيانات أكبر.

زر

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

عرض استجابة Apidog

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

لا تعرف JavaScript؟ دع Apidog تساعدك

يمتلك Apidog ميزة توليد الشيفرة التي ستساعدك، سواء كنت تعرف JavaScript أم لا!

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

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

توليد كود Unirest JavaScript باستخدام Apidog

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

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

زر

الخاتمة

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

يجب أن تتضمن التطبيقات الواقعية أفضل الممارسات مثل معالجة الأخطاء، والتحقق من صحة البيانات، ودمج قواعد البيانات، والبرمجيات الوسيطة لضمان نهج تطوير شامل وآمن. من خلال إتقان طلبات DELETE ضمن NodeJS Express، يمكنك إدارة وإزالة البيانات بشكل فعال ضمن تطبيقات الويب وواجهات برمجة التطبيقات الخاصة بك، مما يحافظ على كفاءة تنظيم تخزين البيانات الخاصة بك.