router 모듈화

hero 목록을 가져오는 api를 만드는데 database 연동 없이 만들자.

먼저 3가지 role을 정의한다.

  • /api/user – 모든 사용자가 접근가능한 role
  • /api/member – 로그인한 사용자
  • /api/admin – 관리자만 접근가능한 api 목록

router 폴더를 만들고 index.ts 화일과 user.ts 화일을 각각 만든다.

/heroes 경로로 들어오면 ‘heroes list’ 라는 스트링을 임시로 리턴한다.

/user 경로로 들어오면 위에서 정의한 user.ts 로 라우팅한다.

이제 router 의 index.ts 에서 해당 라우팅을 포함한다.

index.ts -> router/index.ts -> router/user.ts 로 라우팅 경로가 잡혔으므로

/api/user/heroes 가 최종 경로가 된다.

브라우저를 열어서 테스트해보자. /api/user/heroes

controller 모듈화

controller 폴더를 만들고 UserController.ts 를 추가한다.

user.ts에서 해당 컨트롤러를 import 한다.

요약

router 모듈화는 유알엘 경로에 대해서 어떤 모듈을 로딩할건지 라우팅 경로를 설정하는 것이고, 특정 유알엘 경로에서 구체적인 프로토콜을 지정하는것이 controller 모듈화이다.

예를 들어, index.ts > router/index.ts > router/user.ts 에서 /api/user 라는 경로를 지정했고, 해당 경로 내에서 /heroes는 목록 가져오기 api를 만들게 되고 최종 경로는 router 모듈과 controller 모듈이 결합된 /api/user/heroes 가 되는것이다.

YouTube