دوره‌ها / Node.js / Routing (Routes & Routes)

Routing (Routes & Routes)

15 دقیقه Article

Routing: مسیریابی در Express.js 🛣️

Routing برای تعریف endpoint های مختلف در Express استفاده میشه. بیایید یاد بگیریم!

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

// Route ساده
app.get('/', (req, res) => {
    res.send('Home Page');
});

// Route با parameter
app.get('/user/:id', (req, res) => {
    res.send('User ID: ' + req.params.id);
});

// Multiple routes
app.get('/about', (req, res) => {
    res.send('About Page');
});

app.get('/contact', (req, res) => {
    res.send('Contact Page');
});

app.listen(3000, () => {
    console.log('Server running on port 3000');
});

HTTP Methods:

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

// GET - خواندن داده
app.get('/users', (req, res) => {
    res.json({ users: [] });
});

// POST - ایجاد داده جدید
app.post('/users', (req, res) => {
    res.json({ message: 'User created' });
});

// PUT - به‌روزرسانی کامل
app.put('/users/:id', (req, res) => {
    res.json({ message: 'User updated' });
});

// PATCH - به‌روزرسانی جزئی
app.patch('/users/:id', (req, res) => {
    res.json({ message: 'User partially updated' });
});

// DELETE - حذف
app.delete('/users/:id', (req, res) => {
    res.json({ message: 'User deleted' });
});

Route Parameters:

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

// Single parameter
app.get('/user/:id', (req, res) => {
    res.send('User ID: ' + req.params.id);
});

// Multiple parameters
app.get('/users/:userId/posts/:postId', (req, res) => {
    res.json({
        userId: req.params.userId,
        postId: req.params.postId
    });
});

// Query parameters
app.get('/search', (req, res) => {
    const query = req.query.q;
    res.send('Searching for: ' + query);
});
// استفاده: /search?q=nodejs
✅ یاد گرفتید: Routing برای ساخت RESTful APIs ضروریه!

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

تمرین: ساخت REST API ساده Medium
سوال تمرین

🎯 تمرین: REST API با Express

یک API ساده بسازید با route های:

  • GET /api/users - لیست کاربران
  • POST /api/users - ساخت کاربر جدید
  • GET /api/users/:id - دریافت یک کاربر
پاسخ تمرین
JAVASCRIPT
const express = require('express');
const app = express();
app.use(express.json());

let users = [{ id: 1, name: 'Ali' }];

// GET all users
app.get('/api/users', (req, res) => {
    res.json(users);
});

// POST new user
app.post('/api/users', (req, res) => {
    const newUser = {
        id: users.length + 1,
        name: req.body.name
    };
    users.push(newUser);
    res.status(201).json(newUser);
});

// GET user by id
app.get('/api/users/:id', (req, res) => {
    const user = users.find(u => u.id === parseInt(req.params.id));
    if (!user) {
        return res.status(404).json({ error: 'User not found' });
    }
    res.json(user);
});

app.listen(3000, () => {
    console.log('Server running on port 3000');
});

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.