Οδηγός για τη δρομολόγηση και το ενδιάμεσο λογισμικό στο Express

Η δρομολόγηση και το ενδιάμεσο λογισμικό είναι δύο σημαντικές έννοιες στο Node.js και στο πλαίσιο Express για τη δημιουργία εφαρμογών ιστού.

Δρομολόγηση:

  • Η δρομολόγηση είναι η διαδικασία καθορισμού του τρόπου χειρισμού αιτημάτων από τον πελάτη και απάντησης με αντίστοιχους πόρους στον διακομιστή.
  • Στο Express, μπορούμε να ορίσουμε διαδρομές καθορίζοντας τη μέθοδο HTTP (GET, POST, PUT, DELETE, κ.λπ.) και την αντίστοιχη διαδρομή URL.
  • Κάθε διαδρομή μπορεί να έχει μία ή περισσότερες λειτουργίες χειριστή για την εκτέλεση εργασιών όπως η επεξεργασία αιτημάτων, η πρόσβαση στη βάση δεδομένων και η αποστολή απαντήσεων στον πελάτη.

Middleware:

  • Το Middleware είναι συναρτήσεις που εκτελούνται με μια σειρά πριν το αίτημα φτάσει στον τελικό χειριστή διαδρομής.
  • Χρησιμοποιούνται για την εκτέλεση κοινών λειτουργιών και τον χειρισμό ενδιάμεσων εργασιών όπως έλεγχος ταυτότητας, καταγραφή, διαχείριση σφαλμάτων κ.λπ.
  • Το Middleware μπορεί να εφαρμοστεί σε ολόκληρη την εφαρμογή ή να καθοριστεί για συγκεκριμένες διαδρομές.
  • Κάθε ενδιάμεσο λογισμικό λαμβάνει τις παραμέτρους req (αίτημα) και res (απόκριση) και μπορεί να εκτελέσει επεξεργασία, να περάσει το αίτημα στο επόμενο ενδιάμεσο λογισμικό ή να τερματίσει την επεξεργασία στέλνοντας μια απάντηση στον πελάτη.

Παράδειγμα συνδυασμού δρομολόγησης και ενδιάμεσου λογισμικού στο 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...');
});

Σε αυτό το παράδειγμα, έχουμε ορίσει ένα προσαρμοσμένο ενδιάμεσο λογισμικό loggerMiddlewareγια την καταγραφή κάθε νέου αιτήματος που έρχεται στον διακομιστή. Αυτό το ενδιάμεσο λογισμικό εφαρμόζεται σε ολόκληρη την εφαρμογή χρησιμοποιώντας τη app.use()μέθοδο. Στη συνέχεια, έχουμε ορίσει δύο διαδρομές, μία για την κύρια σελίδα ( '/') και άλλη για τη σελίδα σχετικά ( '/about'). Τέλος, ξεκινάμε τον διακομιστή και ακούμε στη θύρα 3000.

Το ενδιάμεσο λογισμικό loggerMiddlewareθα εκτελείται για κάθε αίτημα, καταγράφοντας ένα μήνυμα στην κονσόλα πριν περάσει το αίτημα στον αντίστοιχο χειριστή διαδρομής ή ενδιάμεσο λογισμικό στη σειρά.

Αυτός ο συνδυασμός δρομολόγησης και ενδιάμεσου λογισμικού μας επιτρέπει να χειριζόμαστε διαφορετικά αιτήματα και να εκτελούμε κοινές εργασίες αποτελεσματικά σε μια εφαρμογή Express.