Routing (Routes & Routes)
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');
});
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.