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

后端 未结 2 1607
梦如初夏
梦如初夏 2021-02-06 13:31

I want to know what is the difference between req.query and req.body?

below is a piece of code where req.query is used. what happens if i use req.body

相关标签:
2条回答
  • 2021-02-06 13:37

    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 middleware if 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=Asimov app.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/14 app.get('/books/:id', (req, res) => { console.log(req.params.id) } will return 14

    0 讨论(0)
  • 2021-02-06 13:43

    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.

    0 讨论(0)
提交回复
热议问题