In Express.js, routing è un concetto cruciale che ti consente di definire come la tua applicazione gestisce le richieste HTTP in arrivo dagli utenti. Le route ti consentono di specificare azioni specifiche quando gli utenti inviano richieste a URL specifici sulla tua applicazione.
Passaggio 1: creazione di una base Route
Per creare un route in Express.js, si utilizza il app.METHOD(PATH, HANDLER)
metodo dell'oggetto applicazione( app
) per registrare route un metodo HTTP specifico METHOD e un percorso PATH. Il HANDLER è una funzione di gestione che verrà chiamata quando una richiesta lo raggiunge route.
Ad esempio, per creare un'istanza route che gestisca una GET
richiesta a /hello
, puoi utilizzare il seguente codice:
app.get('/hello',(req, res) => {
res.send('Hello, this is the /hello route!');
});
Passaggio 2: gestione delle richieste e delle risposte
Nella funzione gestore è possibile gestire le richieste in arrivo dagli utenti e rispondere utilizzando gli oggetti req
(richiesta) e(risposta). res
L' req
oggetto contiene informazioni sulla richiesta in arrivo, come parametri URL, dati inviati, indirizzo IP del mittente, ecc. L' res
oggetto contiene metodi per rispondere alla richiesta, come res.send()
, res.json()
, res.render()
, ecc.
Passaggio 3: gestione di più percorsi
Express.js consente di definire più percorsi per lo stesso URL con diversi metodi HTTP. Per esempio:
app.get('/hello',(req, res) => {
res.send('Hello, this is the GET /hello route!');
});
app.post('/hello',(req, res) => {
res.send('Hello, this is the POST /hello route!');
});
Passaggio 4: gestione dei parametri dinamici
È inoltre possibile definire percorsi che contengono parametri dinamici, definiti da due punti( :
). Per esempio:
app.get('/users/:id',(req, res) => {
const userId = req.params.id;
res.send(`Hello, this is the GET /users/${userId} route!`);
});
Quando un utente effettua una richiesta a /users/123
, la userId
variabile avrà il valore "123".
Passaggio 5: separare Routing con i moduli
In progetti più grandi, potresti voler separare i percorsi in file separati per mantenere il tuo codice sorgente organizzato e gestibile. È possibile utilizzare module.exports
per definire percorsi in file separati e quindi importarli nel file principale. Per esempio:
// routes/users.js
const express = require('express');
const router = express.Router();
router.get('/profile',(req, res) => {
res.send('This is the /profile route in users.js!');
});
module.exports = router;
// app.js
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
Passaggio 6: gestione di percorsi inesistenti
Infine, se un utente richiede un inexistent route, puoi definire un 404 route per gestirlo. Questo viene fatto impostando un valore predefinito route alla fine del file principale:
app.use((req, res, next) => {
res.status(404).send('Route not found!');
});
Abbiamo imparato come creare e gestire route in Express.js. Utilizzando questa funzione, puoi personalizzare e gestire le richieste degli utenti in modo flessibile e potente, rendendo la tua applicazione più adattabile e scalabile. Continua a esplorare e utilizzare i percorsi per creare applicazioni web ricche e fantastiche!