ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Difference Between Params and body when Using HTTP Request
    BackEnd 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;
      ...
      ...
    })

     

     

    참고 자료: https://stackoverflow.com/questions/18187424/is-there-any-difference-between-using-request-body-or-request-params-in-node-js

Designed by Tistory.