ExpressIntermediate
Express Request ও Response
req object properties, res methods, headers, status codes — Express request/response বাংলায়।
11টি অংশবাংলা ভাষায়
Express-এ request handler-এ দুটি মূল object পাই: req (request) ও res (response)। এদের properties ও methods জানা খুব জরুরি।
Request Object (req)
| Property | কাজ |
|---|---|
| req.params | URL parameters (:id) |
| req.query | Query string (?page=2) |
| req.body | POST body (JSON/form) |
| req.headers | সব request headers |
| req.method | HTTP method |
| req.url | Full URL |
| req.path | URL path (query ছাড়া) |
| req.ip | Client IP address |
| req.cookies | Cookies (cookie-parser লাগবে) |
app.get("/users/:id", (req, res) => {
console.log(req.params); // { id: "5" }
console.log(req.query); // {}
console.log(req.method); // "GET"
console.log(req.path); // "/users/5"
console.log(req.ip); // "::1"
console.log(req.hostname); // "localhost"
res.json({
param: req.params.id,
query: req.query,
headers: req.headers["user-agent"],
});
});Response Object (res)
| Method | কাজ |
|---|---|
| res.send() | String/HTML/Buffer পাঠানো |
| res.json() | JSON data পাঠানো |
| res.status() | Status code set |
| res.jsonStatus() | 2 মিলে status + JSON |
| res.redirect() | অন্য URL-এ পাঠানো |
| res.sendFile() | File পাঠানো |
| res.render() | Template render |
| res.end() | Response শেষ |
| res.set() | Header set |
| res.cookie() | Cookie set |
Response Examples
// send text
res.send("Hello!");
// send JSON
res.json({ success: true, data: [1, 2, 3] });
// status + json
res.status(201).json({ message: "তৈরি হয়েছে" });
// redirect
res.redirect("/login");
// send file
res.sendFile(path.join(__dirname, "file.pdf"));
// set header
res.set("X-Custom-Header", "value");
res.set({
"X-One": "1",
"X-Two": "2",
});Status Codes
| Code | অর্থ | কখন |
|---|---|---|
| 200 | OK | সফল GET |
| 201 | Created | সফল POST |
| 204 | No Content | success কিন্তু body নেই |
| 400 | Bad Request | client ভুল input |
| 401 | Unauthorized | login লাগবে |
| 403 | Forbidden | permission নেই |
| 404 | Not Found | route নেই |
| 409 | Conflict | duplicate data |
| 500 | Server Error | server crash |
যেকেন res.json() vs res.send()
JSON-এর জন্য সবসময় res.json() ব্যবহার করুন — platform সঠিক Content-Type set করবে। res.send(obj)-ও কাজ করে তবে json() cleaner।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।