ניתוב (Routing)
מהו Routing?
Routing הוא התהליך שבו האפליקציה מחליטה איך להגיב לבקשות בנתיבים שונים.
מבנה בסיסי
app.METHOD(PATH, HANDLER);
| חלק | תיאור | דוגמה |
|---|---|---|
| METHOD | מתודת HTTP | get, post, put, delete |
| PATH | הנתיב ב-URL | '/', '/users' |
| HANDLER | הפונקציה שמטפלת | (req, res) => {} |
HTTP Methods
// GET - קבלת מידע
app.get('/users', (req, res) => {
res.json([{ id: 1, name: 'יוסי' }]);
});
// POST - יצירת משאב חדש
app.post('/users', (req, res) => {
res.status(201).json({ user: req.body });
});
// PUT - עדכון מלא
app.put('/users/:id', (req, res) => {
res.json({ updated: true });
});
// DELETE - מחיקה
app.delete('/users/:id', (req, res) => {
res.status(204).send();
});
Route Parameters
// One parameter
app.get('/users/:id', (req, res) => {
res.json({ userId: req.params.id });
});
// Multiple parameters
app.get('/users/:userId/posts/:postId', (req, res) => {
const { userId, postId } = req.params;
res.json({ userId, postId });
});
Query Strings
// URL: /search?q=express&page=1
app.get('/search', (req, res) => {
const { q, page } = req.query;
res.json({ searchTerm: q, page });
});
Express Router
// routes/users.js
import express from 'express';
const router = express.Router();
router.get('/', (req, res) => res.json({ users: [] }));
router.get('/:id', (req, res) => res.json({ user: req.params.id }));
router.post('/', (req, res) => res.status(201).json(req.body));
export default router;
// app.js
import usersRouter from './routes/users.js';
app.use('/users', usersRouter);
Route Chaining
app.route('/users')
.get((req, res) => res.json({ action: 'list' }))
.post((req, res) => res.json({ action: 'create' }));
← חזרה לתחביר | המשך ל-Middleware →
בדקו את עצמכם
נסו לענות לבד לפני שאתם פותחים את התשובה.
-
מה עושה
express.Router()?הצגת התשובה
תשובה ד. app.use('/api/users', usersRouter) מסדר את הקוד לפי תחומים.
-
איזו שיטת HTTP מתאימה ליצירת משאב חדש?
הצגת התשובה
תשובה ד. GET לקריאה, POST ליצירה, PATCH/PUT לעדכון, DELETE למחיקה.