ExpressIntermediate
Express Body Parsing
express.json(), urlencoded, raw, text — Request body parse করার বাংলা গাইড।
10টি অংশবাংলা ভাষায়
POST/PUT/PATCH request-এ client body পাঠায় — JSON, form, raw ইত্যাদি। Express-এর built-in middleware দিয়ে এগুলো parse করা হয়।
express.json()
// JSON body parse
app.use(express.json());
// limit ও strict option সহ
app.use(express.json({
limit: "10mb", // max body size
strict: true, // only objects & arrays
}));
// POST /users with body {"name":"রহিম"}
app.post("/users", (req, res) => {
console.log(req.body.name); // "রহিম"
res.json(req.body);
});express.urlencoded()
// HTML form body parse
app.use(express.urlencoded({ extended: true }));
// /login form-এ (username=rahim&password=123)
app.post("/login", (req, res) => {
console.log(req.body.username); // "rahim"
console.log(req.body.password); // "123"
});express.text() ও raw()
// Plain text body
app.use(express.text());
app.post("/note", (req, res) => {
console.log(req.body); // "my raw text"
});
// Raw/binary body
app.use(express.raw({ type: "application/octet-stream" }));
app.post("/upload", (req, res) => {
console.log(req.body.length); // bytes
});Validation সহ
// Empty body check
app.post("/users", (req, res) => {
if (!req.body || Object.keys(req.body).length === 0) {
return res.status(400).json({ error: "Body খালি" });
}
res.json(req.body);
});সতর্কতা
express.json()-এ limit না দিলে default 100kb। বড় payload পাঠালে limit set করুন নাহলে Error হবে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।