How do you parse request bodies in Express.js?

Answer

Express does not parse request bodies by default. For JSON bodies (from REST API clients), use the built-in middleware: app.use(express.json()). This parses incoming requests with Content-Type application/json and populates req.body. For URL-encoded form data (from HTML forms): app.use(express.urlencoded({ extended: true })). The extended: true option uses the qs library for rich objects; false uses the basic querystring module. Both middlewares must be registered before the route handlers that need req.body. For file uploads, use a dedicated package like multer.