Loading lessons...
Request & Response Objects (req & res)
Deep Dive into req and res
Express passes enhanced Request (req) and Response (res) wrapper objects to every route handler callback function.
Key Request Properties (req)
req.params: Object containing route parameter tokens (e.g.,req.params.id).req.query: Object containing URL query string parameters (e.g.,?page=2->req.query.page).req.body: Parsed payload body object (requires body-parsing middleware).req.headers: Object containing request headers (e.g.,req.headers['authorization']).req.ip: Remote IP address of the client request.
Key Response Methods (res)
res.status(code): Sets the HTTP status code (chainable).res.json(payload): Sends a JSON response with correctContent-Type: application/jsonheader.res.send(body): Sends string, Buffer, or HTML response.res.redirect(url): Redirects client to specified URL.res.sendFile(absolutePath): Streams static file directly to response.
app.get("/search", (req, res) => {
const { q, limit = 10 } = req.query;
const userAgent = req.get("User-Agent");
if (!q) {
return res.status(400).json({ error: "Query parameter 'q' is required" });
}
res.status(200).json({
query: q,
limit: Number(limit),
clientAgent: userAgent
});
});
TL;DR
- Access input data via
req.params(path),req.query(search params), andreq.body(payload). - Respond to clients using
res.status(code).json(data).