Middleware në Express.js: Trajtimi i kërkesës së ndërmjetme

Hyrje në Middleware në Express.js

Middleware in Express.js është një koncept i fuqishëm që ju lejon të ekzekutoni funksionet në një rend specifik gjatë ciklit të jetës së kërkesë-përgjigje. Këto funksione mund të kryejnë detyra të ndryshme si vërtetimi, regjistrimi, vlefshmëria e të dhënave dhe më shumë. Middleware funksionet ekzekutohen në mënyrë sekuenciale, dhe secili middleware ka akses në objektet request dhe response, si dhe next funksionin, i cili ia kalon kontrollin tjetrit middleware në stek.

Pse Përdorni Middleware ?

Middleware është thelbësore për modularizimin e funksionalitetit të aplikacionit tuaj dhe rritjen e mirëmbajtjes së tij. Kjo ju mundëson t'i mbani të pastër dhe të përqendruar në detyra specifike mbajtësit e itinerarit, ndërsa ngarkoni shqetësimet e zakonshme ose të ndërthurura në middleware funksione. Kjo ndarje e shqetësimeve promovon ripërdorimin e kodit dhe e bën bazën tuaj të kodit më të organizuar.

Krijimi dhe përdorimi Middleware

Për të krijuar middleware në Express.js, ju përcaktoni një funksion që merr tre parametra: request, response, dhe next.

Këtu është një shembull bazë i middleware regjistrimit të çdo kërkese hyrëse:

const logMiddleware =(req, res, next) => {  
  console.log(`Received a ${req.method} request at ${req.url}`);  
  next(); // Pass control to the next middleware  
};  
  
app.use(logMiddleware);  

Ju mund të përdorni app.use() metodën për të aplikuar middleware globalisht në të gjitha rrugët, ose mund ta përdorni në mënyrë selektive për rrugë specifike.

Urdhri i Middleware Ekzekutimit

Middleware funksionet ekzekutohen sipas radhës që përcaktohen duke përdorur app.use().

Për shembull:

app.use(middleware1);  
app.use(middleware2);  

Në këtë rast, middleware1 do të ekzekutohet më parë middleware2 për të gjitha kërkesat hyrëse.

Trajtimi i gabimeve në Middleware

Nëse ndodh një gabim brenda një middleware funksioni, ju mund ta kaloni gabimin te next funksioni dhe Express.js automatikisht do të kaloni te trajtimi i gabimeve middleware.

Ja një shembull:

const errorMiddleware =(err, req, res, next) => {  
  console.error(err);  
  res.status(500).send('Something went wrong!');  
};  
  
app.use(errorMiddleware);  

Përdorimi Middleware për vërtetim

Middleware përdoret zakonisht për zbatimin e vërtetimit dhe autorizimit në aplikacionet në ueb. Për shembull, mund të krijoni një middleware funksion që kontrollon nëse një përdorues është vërtetuar përpara se të lejoni aksesin në rrugë të caktuara:

const authenticateMiddleware =(req, res, next) => {  
  if(req.isAuthenticated()) {  
    return next(); // User is authenticated, proceed to the next middleware  
  }  
  res.redirect('/login'); // User is not authenticated, redirect to login page  
};  
  
app.get('/profile', authenticateMiddleware,(req, res) => {  
  res.send('Welcome to your profile!');  
});  

 

konkluzioni

Middleware in Express.js është një mjet jetik për menaxhimin dhe përmirësimin e funksionalitetit të aplikacioneve tuaja në ueb. Duke krijuar middleware funksione të ripërdorshme, ju mund të thjeshtoni kodin tuaj, të modularizoni shqetësimet dhe të përmirësoni mirëmbajtjen e përgjithshme të projekteve tuaja. Nga trajtimi i vërtetimit te regjistrimi dhe menaxhimi i gabimeve, middleware ju fuqizon të ndërtoni aplikacione të fuqishme dhe të sigurta në internet në mënyrë efikase.