# The req Object — Express.js

Source: https://www.geekswithgeeks.com/en/expressjs/ex-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.

```javascript
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);
});
```
