#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
3 min read
Question 12 of 62easy

How to parse request body in Express.js?

Handling JSON, URL-encoded, and form data.

What You'll Learn

  • Parsing JSON body
  • Parsing form data
  • Handling file uploads

Built-in Middleware

code.jsJavaScript
const express = require('express');
const app = express();

// Parse JSON bodies
app.use(express.json());

// Parse URL-encoded bodies (forms)
app.use(express.urlencoded({ extended: true }));

// Now req.body is available
app.post('/api/users', (req, res) => {
  console.log(req.body);
  res.json(req.body);
});

JSON Request

code.jsJavaScript
// Client sends:
// POST /api/users
// Content-Type: application/json
// { "name": "John", "email": "john@example.com" }

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

File Uploads with Multer

code.jsJavaScript
const multer = require('multer');

const storage = multer.diskStorage({
  destination: 'uploads/',
  filename: (req, file, cb) => {
    cb(null, Date.now() + '-' + file.originalname);
  }
});

const upload = multer({ storage });

// Single file
app.post('/upload', upload.single('file'), (req, res) => {
  res.json({ file: req.file });
});

// Multiple files
app.post('/uploads', upload.array('files', 5), (req, res) => {
  res.json({ files: req.files });
});