본문 바로가기

Node

[#. Node] route, axios request(요청) 시 req.params vs req.query 차이

반응형

 

 

 

 

 

req.params vs req.query

 

req.params

미리 자리를 정해놓고 원하는 변수로 지정해놓은 route 파라미터

router.get('/product/:id', controller.productDetail);

localhost:3000/product/1

console.log(req.params)		// { id: '1' }

 

req.params 값은 router => controller => view로 넘어가게 된다 

router
router.get('/product/:id', controller.productDetail)

localhost:3000/product/1		// req.params.id = 1


controller
exports.productDetail = fucntion(req, res) {
   res.render('/product-detail', {
      id: req.params.id,
   });
}

view
<div><%= id %></div>		// 1 

 

 

req.query

GET 방식(? 이후)으로 넘어오는 query 파라미터를 담고 있다.

await axios({
  method: "get",
  url: "localhost:3000/product/1",
  params: { color: 'red' },
})

localhost:3000/product/1?color=red

console.log(req.query)		// { color: red }

axios에서 params로 넘기고 있지만 저 값은 req.query로 받아올 수 있다

 

 

 

 

 

반응형