كيفية كتابة REST API بلغة JavaScript في 30 دقيقة: دليل عملي

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة: لماذا تحتاج REST API بلغة JavaScript في 30 دقيقة؟

\n

تطوير الويب الحديث لا يمكن تصوره بدون API (واجهة برمجة التطبيقات). REST (نقل الحالة التمثيلية) هو النمط المعماري الأكثر شيوعًا لإنشاء خدمات الويب. إذا كنت ترغب في إتقان تطوير backend بسرعة أو تشغيل أول خادم لك، فإن JavaScript و Node.js هما الخيار المثالي. في 30 دقيقة، يمكنك إنشاء REST API كامل يعالج الطلبات، ويعيد البيانات بتنسيق JSON، ويعمل مع قاعدة بيانات (في مثالنا، مع مصفوفة بسيطة في الذاكرة).

\n

في هذه المقالة، سنشرح مثالًا عمليًا: سننشئ API لإدارة قائمة المهام (To-Do list). ستتعلم كيفية إعداد الخادم، ومعالجة طلبات GET و POST و PUT و DELETE، بالإضافة إلى إضافة التحقق الأساسي. في نهاية القراءة، سيكون لديك كود جاهز يمكن تشغيله واختباره فورًا.

\n\n

الخطوة 1: إعداد المشروع وتثبيت التبعيات

\n

قبل كتابة الكود، تحتاج إلى تجهيز البيئة. تأكد من تثبيت Node.js (يمكن تنزيله من الموقع الرسمي). ثم اتبع التعليمات:

\n
    \n
  1. أنشئ مجلدًا جديدًا للمشروع، مثل rest-api-todo.
  2. \n
  3. افتح الطرفية في هذا المجلد ونفذ الأمر npm init -y - سينشئ هذا ملف package.json.
  4. \n
  5. قم بتثبيت Express - الإطار الأكثر شيوعًا لـ Node.js: npm install express.
  6. \n
  7. لتسهيل العمل، قم بتثبيت nodemon كتبعية تطوير: npm install --save-dev nodemon. سيقوم بإعادة تشغيل الخادم تلقائيًا عند تغيير الكود.
  8. \n
\n

بعد التثبيت، أضف سكريبت التشغيل في package.json:

\n
"scripts": {\n  "start": "node index.js",\n  "dev": "nodemon index.js"\n}
\n\n

الخطوة 2: إنشاء خادم أساسي باستخدام Express

\n

الآن سننشئ ملف index.js - سيكون نقطة الدخول لتطبيقنا. فيه سنقوم بإعداد الخادم، وتوصيل middleware للعمل مع JSON، وتحديد أول مسار.

\n
const express = require('express');\nconst app = express();\nconst PORT = 3000;\n\n// Middleware لتحليل JSON\napp.use(express.json());\n\n// مخزن بيانات مؤقت (بدلاً من قاعدة البيانات)\nlet tasks = [\n    { id: 1, title: 'تعلم Express', completed: false },\n    { id: 2, title: 'كتابة REST API', completed: false }\n];\nlet currentId = 3;\n\n// مسار أساسي للتحقق\napp.get('/', (req, res) => {\n    res.send('REST API يعمل! استخدم /api/tasks');\n});\n\n// تشغيل الخادم\napp.listen(PORT, () => {\n    console.log(`الخادم يعمل على http://localhost:${PORT}`);\n});
\n

قم بتشغيل الخادم باستخدام الأمر npm run dev وافتح في المتصفح http://localhost:3000. يجب أن ترى رسالة "REST API يعمل!".

\n\n

الخطوة 3: تنفيذ عمليات CRUD (GET, POST, PUT, DELETE)

\n

الآن الجزء الممتع - سننشئ REST API كامل لإدارة المهام. سنقوم بتنفيذ أربع طرق HTTP رئيسية:

\n\n

3.1. GET /api/tasks - الحصول على جميع المهام

\n
// الحصول على جميع المهام\napp.get('/api/tasks', (req, res) => {\n    res.json(tasks);\n});
\n\n

3.2. GET /api/tasks/:id - الحصول على مهمة واحدة حسب المعرف

\n
// الحصول على مهمة حسب المعرف\napp.get('/api/tasks/:id', (req, res) => {\n    const id = parseInt(req.params.id);\n    const task = tasks.find(t => t.id === id);\n    \n    if (!task) {\n        return res.status(404).json({ message: 'المهمة غير موجودة' });\n    }\n    res.json(task);\n});
\n\n

3.3. POST /api/tasks - إنشاء مهمة جديدة

\n
// إنشاء مهمة جديدة\napp.post('/api/tasks', (req, res) => {\n    const { title, completed } = req.body;\n    \n    // التحقق\n    if (!title || typeof title !== 'string') {\n        return res.status(400).json({ message: 'عنوان المهمة مطلوب ويجب أن يكون نصًا' });\n    }\n                

المدونات

توصيات الكتب