express: what is the difference between req.query and req.body express: what is the difference between req.query and req.body express express

express: what is the difference between req.query and req.body


req.query contains the query params of the request.

For example in sample.com?foo=bar, req.query would be {foo:"bar"}

req.body contains anything in the request body. Typically this is used on PUT and POST requests.

For example a POST to sample.com with the body of {"foo":"bar"} and a header of type application/json, req.body would contain {foo: "bar"}

So to answer your question, if you were to use req.body instead of req.query, it would most likely not find anything in the body, and therefore not be able to validate the jwt.

Hope this helps.


req.body is mainly used with form using POST method.You've to use enctype="application/x-www-form-urlencoded" in the form properties. As POST method don't show anything in URL, you have to use body-parser middlewareif the form contains an input text with name="age" then req.body.age return the value of this feld.

req.query takes parameters in the URL (mainly GET method)example for this URL ► http://localhost/books?author=Asimovapp.get('/books/', (req, res) => { console.log(req.query.author) } will return Asimov

by the way, req.params take the end part of the URL as a parameter.example for this URL ► http://localhost/books/14app.get('/books/:id', (req, res) => { console.log(req.params.id) } will return 14