Parametri delle route
Fa parte della sezione Fondamenti di Express del percorso Node.js di Coddy. Lezione 4 di 20.
Recipe Box conterrà molte ricette e una route per ogni ricetta non finirebbe mai.
app.get('/weather/:city', (req, res) => {
res.send('Forecast for ' + req.params.city);
});Una parte del percorso che inizia con i due punti è un parametro di route: corrisponde a qualsiasi valore ed Express inserisce quel valore in req.params. GET /weather/oslo invia Forecast for oslo.
Un parametro è sempre una stringa. GET /rooms/12 restituisce '12', e '12' === 12 è false, quindi converti il valore con Number(...) prima di confrontarlo con dei numeri.
Quando ciò che viene richiesto non esiste, rispondi con lo stato 404: res.status(404).send('No such city') imposta lo stato, poi invia la risposta.
Sfida
FacileGET /recipes/:idrestituisce il titolo della ricetta con quell'id.- Un id sconosciuto restituisce
404conNo such recipe.
Invia GET /recipes/2, poi GET /recipes/99.
Provalo tu
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// type('text') invia testo semplice, quindi ogni titolo appare su una riga a sé.
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');
});
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.