Menu
CoddyTech

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.

challenge icon

Sfida

Facile
  • GET /recipes/:id restituisce il titolo della ricetta con quell'id.
  • Un id sconosciuto restituisce 404 con No 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');
});
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti di Express