Rutarea și middleware-ul sunt două concepte importante în Node.js și cadrul Express pentru construirea aplicațiilor web.
ruta:
- Rutarea este procesul de determinare a modului în care se gestionează cererile de la client și se răspunde cu resursele necesare pe server.
- În Express, putem defini rute specifice prin metoda HTTP (GET, POST, PUT, DELETE etc.) și calea URL corespunzătoare.
- Fiecare rută poate avea una sau mai multe funcții de gestionare pentru a efectua sarcini precum procesarea cererilor, accesul la baza de date și trimiterea răspunsurilor către client.
Middleware:
- Middleware-urile sunt funcții care sunt executate într-o secvență înainte ca cererea să ajungă la handlerul final de rută.
- Sunt folosite pentru a efectua funcționalități comune și pentru a gestiona sarcini intermediare, cum ar fi autentificarea, înregistrarea în jurnal, gestionarea erorilor etc.
- Middleware-ul poate fi aplicat întregii aplicații sau specificați pentru rute specifice.
- Fiecare middleware primește parametrii req (cerere) și res (răspuns) și poate efectua procesarea, transmite cererea următorului middleware sau încheia procesarea trimițând un răspuns către client.
Exemplu de combinare de rutare și middleware în Express:
const express = require('express');
const app = express();
// Middleware
const loggerMiddleware = (req, res, next) => {
console.log('A new request has arrived!');
next();
};
// Apply middleware to the entire application
app.use(loggerMiddleware);
// Main route
app.get('/', (req, res) => {
res.send('Welcome to the homepage!');
});
// Another route
app.get('/about', (req, res) => {
res.send('This is the about page!');
});
// Start the server
app.listen(3000, () => {
console.log('Server is listening on port 3000...');
});
În acest exemplu, am definit un middleware personalizat loggerMiddlewarepentru a înregistra fiecare cerere nouă care vine la server. Acest middleware este aplicat întregii aplicații app.use()metoda. Apoi, am definit două rute, unul pentru pagina principală ( '/') și altul pentru pagina despre ( '/about'). În cele din urmă, pornim serverul și ascultăm pe portul 3000.
Middleware-ul loggerMiddlewareva fi executat pentru fiecare cerere, înregistrând un mesaj în consolă înainte de a trece cererea către handler-ul de rută sau middleware-ul de securitate.
Această combinație de rutare și middleware nu permite să gestionăm diferite solicitări și îndeplinirea sarcinilor comune în mod eficient într-o aplicație Express.