동적 라우팅이란?
이전까지의 라우팅은 정적 라우팅이었다. 하나의 요청에 하나의 컨트롤러를 사용해야했었다. 하지만 동적 라우팅을 사용하면 여러 개의 요청에도 하나의 컨트롤러만 사용할 수 있게 된다.
router.get('/products', shopController.getProducts);
위의 코드는 정적 라우팅 코드다. products요청에 따른 하나의 컨트롤러만을 사용하고 있다. 이처럼 정적은 메인이나 전체페이지를 요청할 때 사용하면 된다.
router.get('/products/:productId', shopController.getProduct);
위의 코드가 동적으로 라우팅한 코드다. 정적 라우팅과의 차이점은 콜론(:)이다. :을 삽입하면 express에서 이 부분은 동적으로 값을 변동시켜준다. 그렇게 되면 하나의 컨트롤러로 여러 개의 요청을 다룰 수 있다. 주로 상품의 디테일이나 페이징에 활용될 수 있다.