Menu
CoddyTech

פרמטרים בנתיב

חלק מהיחידה יסודות Express במסלול ה-Node.js של Coddy. שיעור 4 מתוך 20.

תיבת המתכונים תכיל מתכונים רבים, ונתיב אחד לכל מתכון לעולם לא יסתיים.

app.get('/weather/:city', (req, res) => {
    res.send('Forecast for ' + req.params.city);
});

חלק בנתיב שמתחיל בנקודתיים הוא פרמטר נתיב: הוא מתאים לכל ערך, ו-Express מציב את הערך הזה ב-req.params. הבקשה GET /weather/oslo שולחת את Forecast for oslo.

פרמטר הוא תמיד מחרוזת. הבקשה GET /rooms/12 מחזירה '12', ו-'12' === 12 הוא false, לכן צריך להמיר אותו באמצעות Number(...) לפני שמשווים אותו למספרים.

כשהדבר המבוקש אינו קיים, יש להחזיר סטטוס 404: res.status(404).send('No such city') מגדיר את הסטטוס ואז שולח תשובה.

challenge icon

אתגר

קל
  • GET /recipes/:id מחזירה את כותרת המתכון שהמזהה שלו הוא id.
  • מזהה לא מוכר מחזיר 404 עם No such recipe.

שלחו GET /recipes/2, ואז GET /recipes/99.

נסו בעצמכם

import express from 'express';
import { recipes } from './data.js';

const app = express();

app.get('/', (req, res) => {
    res.send('Welcome to Recipe Box');
});

// type('text') שולח טקסט פשוט, כך שכל כותרת מופיעה בשורה נפרדת.
app.get('/recipes', (req, res) => {
    res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});

app.get('/about', (req, res) => {
    res.send('Recipe Box collects family recipes.');
});

app.listen(3000, () => {
    console.log('Recipe Box is running on port 3000');
});
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות Express