프로젝트에서 express를 이용하여 라우팅을 구현하던 중 다음과 같이
상위 Router에서 하위 Router로 라우팅하는 상황이 있었다.
parent.js
const router = express.Router();
router.use(/:id/child, require('./child'));
child.js
const router = express.Router();
router.get('/something', () => {
console.log(req.params);
}
하지만 child에서 id값을 얻기 위해 req.params를 출력하면 undefined가 나타났다.
구글링해본 결과 하위 라우터로 params를 전달하기 위해서는 다음과 같이 mergeParams을 true로 해주어야 했다.
child.js
const router = express.Router({mergeParams: true});
router.get('/something', () => {
console.log(req.params);
}
코드 수정후 출력해보니 id값이 잘 나타났다.