În Express.js, routing este un concept crucial care vă permite să definiți modul în care aplicația dvs. gestionează solicitările HTTP primite de la utilizatori. Rutele vă permit să specificați anumite acțiuni atunci când utilizatorii trimit solicitări către anumite adrese URL din aplicația dvs.
Pasul 1: Crearea unui element de bază Route
Pentru a crea un route in Express.js, utilizați app.METHOD(PATH, HANDLER)
metoda obiectului aplicație( app
) pentru a înregistra un route pentru o anumită metodă HTTP METHOD și o cale PATH. HANDLER este o funcție de gestionare care va fi apelată atunci când o solicitare atinge acel route.
De exemplu, pentru a crea o cerere route care gestionează o GET
solicitare către /hello
, puteți folosi următorul cod:
app.get('/hello',(req, res) => {
res.send('Hello, this is the /hello route!');
});
Pasul 2: Gestionarea cererilor și răspunsurilor
În funcția de gestionare, puteți gestiona cererile primite de la utilizatori și puteți răspunde utilizând obiectele req
(cerere) și res
(răspuns). Obiectul req
conține informații despre solicitarea primită, cum ar fi parametrii URL, datele trimise, adresa IP a expeditorului etc. Obiectul res
conține metode de răspuns la cerere, cum ar fi res.send()
, res.json()
, res.render()
etc.
Pasul 3: Gestionarea mai multor rute
Express.js vă permite să definiți mai multe rute pentru aceeași adresă URL cu diferite metode HTTP. De exemplu:
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!');
});
Pasul 4: Gestionarea parametrilor dinamici
De asemenea, puteți defini rute care conțin parametri dinamici, definiți prin două puncte( :
). De exemplu:
app.get('/users/:id',(req, res) => {
const userId = req.params.id;
res.send(`Hello, this is the GET /users/${userId} route!`);
});
Când un utilizator face o solicitare către /users/123
, userId
variabila va avea valoarea „123”.
Pasul 5: Separați Routing cu module
În proiectele mai mari, este posibil să doriți să separați rutele în fișiere separate pentru a vă menține codul sursă organizat și gestionabil. Puteți module.exports
să definiți rute în fișiere separate și apoi să le importați în fișierul principal. De exemplu:
// 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);
Pasul 6: Gestionarea rutelor inexistente
În cele din urmă, dacă un utilizator solicită un inexistent route, puteți defini un 404 route pentru a-l gestiona. Acest lucru se face prin setarea implicită route la sfârșitul fișierului principal:
app.use((req, res, next) => {
res.status(404).send('Route not found!');
});
Am învățat cum să creăm și să gestionăm rute în Express.js. Folosind această caracteristică, puteți personaliza și gestiona cererile utilizatorilor în mod flexibil și puternic, făcând aplicația dvs. mai adaptabilă și mai scalabilă. Continuați să explorați și să utilizați rute pentru a construi aplicații web bogate și fantastice!