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

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

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

ابدأ الدورة
```html

مقدمة: REST API في نصف ساعة — هذا حقيقي



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



سنستخدم مجموعة أدوات بسيطة: Node.js و Express.js — الإطار الأكثر شيوعًا لإنشاء APIs. لا كود زائد، فقط تطبيق عملي. في نهاية المقال، سيكون لديك خادم يعمل بعمليات CRUD (إنشاء، قراءة، تحديث، حذف).



الخطوة 1: التحضير وتثبيت التبعيات



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



node -vnpm -v


أنشئ مجلد المشروع وانتقل إليه:



mkdir my-rest-apicd my-rest-api


قم بتهيئة المشروع وتثبيت Express:



npm init -ynpm install express


لسهولة العمل، سنقوم بتثبيت nodemon — فهو يعيد تشغيل الخادم تلقائيًا عند إجراء تغييرات في الكود:



npm install --save-dev nodemon


الآن افتح ملف package.json واستبدل قسم "scripts" بما يلي:



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


ممتاز! كل شيء جاهز لكتابة الكود.



الخطوة 2: كتابة خادم أساسي ونقطة نهاية أولى



أنشئ ملف index.js في جذر المشروع. لنبدأ باستيراد Express وإعداد المنفذ:



const express = require('express');const app = express();const PORT = 3000;

// Middleware لتحليل JSONapp.use(express.json());

// نقطة اختبار بسيطةapp.get('/', (req, res) => { res.send('REST API الخاص بي يعمل!');});

// تشغيل الخادمapp.listen(PORT, () => { console.log(`الخادم يعمل على http://localhost:${PORT}`);});


قم بتشغيل الخادم باستخدام الأمر:



npm run dev


انتقل في المتصفح إلى العنوان http://localhost:3000 — يجب أن ترى الرسالة "REST API الخاص بي يعمل!".



إضافة محاكاة لقاعدة البيانات



للبساطة، سنقوم بتخزين البيانات في الذاكرة (مصفوفة). في مشروع حقيقي، ستقوم بتوصيل MongoDB أو PostgreSQL، ولكن لأغراض التعلم هذا كافٍ.



// محاكاة قاعدة البياناتlet users = [  { id: 1, name: 'أليكسي', email: 'alex@example.com' },  { id: 2, name: 'ماريا', email: 'maria@example.com' }];let nextId = 3;


الخطوة 3: تنفيذ عمليات CRUD



الآن سنقوم بإنشاء نقاط نهاية كاملة للتعامل مع المستخدمين. سنقوم بتنفيذ أربع طرق HTTP رئيسية: GET, POST, PUT, DELETE.



GET — الحصول على جميع المستخدمين



// الحصول على جميع المستخدمينapp.get('/api/users', (req, res) => {  res.json(users);});

// الحصول على مستخدم بواسطة IDapp.get('/api/users/:id', (req, res) => { const id = parseInt(req.params.id); const user = users.find(u => u.id === id); if (!user) { return res.status(404).json({ message: 'المستخدم غير موجود' }); } res.json(user);});


POST — إنشاء مستخدم جديد



// إنشاء مستخدمapp.post('/api/users', (req, res) => {  const { name, email } = req.body;    // تحقق بسيط  if (!name || !email) {    return res.status(400).json({ message: 'الاسم والبريد الإلكتروني إلزاميان' });  }    const newUser = {    id: nextId++,    name,    email  };    users.push(newUser);  res.status(201).json(newUser);});


PUT — تحديث مستخدم



// تحديث مستخدمapp.put('/api/users/:id', (req, res) => {  const id = parseInt(req.params.id);  const { name, email } = req.bod
```                

المدونات

توصيات الكتب