반응형
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로 받아올 수 있다
반응형