Built-in Middleware

Express ships with express.json, express.urlencoded and express.static.

Syntaxapp.use(express.json())

Express includes a few essential middleware functions out of the box:

  • express.json() — parses incoming JSON request bodies into req.body.
  • express.urlencoded() — parses HTML form submissions into req.body.
  • express.static() — serves static files such as images, CSS and client-side JavaScript.

Without a body parser, req.body is undefined, so add these early.

Example

Example · javascript
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(express.static('public'));

app.post('/echo', (req, res) => {
  res.json({ youSent: req.body });
});

When to use it

  • A developer uses express.json() to automatically parse incoming JSON request bodies from a mobile client posting user data.
  • A contact form at /contact submits application/x-www-form-urlencoded data which express.urlencoded() parses into req.body.
  • A web app serves CSS, images and JS files from a public/ folder using express.static() without writing any route handlers.

More examples

express.json() for API bodies

Registers express.json() globally so POST /users can destructure name and email from req.body.

Example · js
const express = require('express');
const app = express();

app.use(express.json());

app.post('/users', (req, res) => {
  const { name, email } = req.body;
  res.status(201).json({ name, email });
});

app.listen(3000);

express.urlencoded() for HTML forms

Parses HTML form submissions sent as application/x-www-form-urlencoded and makes them available on req.body.

Example · js
const express = require('express');
const app = express();

app.use(express.urlencoded({ extended: false }));

app.post('/contact', (req, res) => {
  const { name, message } = req.body;
  res.send(`Received message from ${name}`);
});

app.listen(3000);

express.static() for assets

Mounts the public/ folder as a static file server so index.html, styles.css, and scripts.js are served automatically.

Example · js
const express = require('express');
const path = require('path');
const app = express();

// Serve files from the public/ directory at the root URL
app.use(express.static(path.join(__dirname, 'public')));

// API routes after static middleware
app.get('/api/data', (req, res) => res.json({ ok: true }));

app.listen(3000);

Discussion

  • Be the first to comment on this lesson.