-
Difference Between Params and body when Using HTTP RequestBackEnd 2022. 3. 18. 00:28
REST API 에 대해 학습하다가, HTTP 를 Request 할 때 parameter 를 body 에 넣어야 하는지, params 에 넣어야 하는지 궁금해졌다.
예전에도 youtube 를 따라 하면서 둘 모두 쓴 기억이 있는데 둘의 차이를 모른 상태로는 앞으로 어떻게 Request 를 보낼지 계속 헤맬 것 같아 찾아보았다.
Stackoverflow 를 찾아본 결과,
req.body 와 req.params 둘은 서로 다른 목적을 가지고 있다(고 한다).
req.body 는 데이터를 서버에 보낼 때 (저장하는 등), POST Request 를 보낼 때 사용한다. 예를 들면 아래 코드와 같다.
코드에서는 mongodb 에 새로운 blog post 를 POST 하고 있다. request 의 body 내에 있는 data 를 db 에 보내는 다음 상황에 req.body 를 사용한다.
app.post("/blog", function(req, res){ var data = req.body.blog; .... // code to send data to the db .... })
req.params 는 url 로부터 parameter 를 추출할 때 사용한다. 예를 들어 url 의 일부로부터 id 값을 얻을 때, 사용할 수 있다.
app.get("/xyz/questions/:id", function(req, res){ var useId = req.params.id; ... ... })