express.json() parse Content-Type application/json thành req.body object — built-in từ Express 4.16+, không cần body-parser riêng. express.urlencoded({ extended: true }) parse HTML form data (application/x-www-form-urlencoded); extended: true dùng qs library cho phép nested objects, extended: false dùng querystring chỉ flat.
- Size limit mặc định 100kb — thay đổi:
express.json({ limit: '10mb' }). - Security: large payloads gây DoS — luôn set limit hợp lý, không để mặc định cho upload endpoint.
- Custom content types:
express.json({ type: 'application/vnd.api+json' }). - Raw parser:
express.raw({ type: 'application/octet-stream' })cho binary. - Text parser:
express.text()cho plain text webhooks.
Pitfall: express.json() không parse multipart/form-data (file upload) — cần multer riêng.