3 min read
•Question 12 of 62easyHow 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 });
});