Skip to main content
Practice Problems

What is middleware in Express.js and how does it work?

Functions that execute during request-response cycle.

Basic Middleware

```javascript const express = require('express'); const app = express();

// Simple middleware app.use((req, res, next) => { console.log('Time:', Date.now()); next(); // Pass to next middleware });

// Route handler app.get('/', (req, res) => { res.send('Hello!'); }); ```

Types

Application-level: ```javascript app.use(express.json()); app.use(express.urlencoded({ extended: true })); ```

Router-level: ```javascript const router = express.Router(); router.use((req, res, next) => { console.log('Router middleware'); next(); }); ```

Error-handling: ```javascript app.use((err, req, res, next) => { console.error(err); res.status(500).send('Error!'); }); ```

Real Example - Auth

```javascript const authMiddleware = (req, res, next) => { const token = req.headers.authorization;

if (!token) { return res.status(401).json({ error: 'No token' }); }

try { req.user = jwt.verify(token, SECRET); next(); } catch (err) { res.status(403).json({ error: 'Invalid token' }); } };

// Protected route app.get('/profile', authMiddleware, (req, res) => { res.json({ user: req.user }); }); ```

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.

Finished reading?
Practice Problems