Lesson 10 / 23

The req Object

Everything about the incoming request lives here.

params, query, body, headers

req.params — URL path values, req.query — the ? string, req.body — parsed request payload (needs middleware), req.headers — HTTP headers.

Reading them all

A single route can pull data from all four sources at once.

app.post('/orders/:id/items', express.json(), (req, res) => {
  console.log(req.params.id);      // path
  console.log(req.query.discount); // ?discount=10
  console.log(req.body.name);      // JSON body
  console.log(req.headers['user-agent']);
  res.sendStatus(204);
});