פרמטרים בנתיב
חלק מהיחידה יסודות 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') מגדיר את הסטטוס ואז שולח תשובה.
אתגר
קל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');
});
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.