더북(TheBook)

8.3 라우터

http.HandleFunc 함수의 첫 번째 매개변수로 전달하는 URL은 정적 문자열만 사용할 수 있다. 즉, /users/:id나 /users/:user_id/addresses/:address_id처럼 URL에 매개변수를 적용한 동적 URL은 사용할 수 없다. 또한, 같은 URL에 http 메서드별로 다른 핸들러 함수를 지정하는 것도 불가능하다.

이번에는 http 메서드와 URL 패턴별로 핸들러를 등록하고, 웹 요청이 들어왔을 때 적절한 핸들러로 연결해주는 라우터(Router)를 만들어 보자. http.ListenAndServe 함수로 웹 서버를 구동할 때 두 번째 매개변수(http.Handler 인터페이스)로 라우터를 전달하면 모든 웹 요청을 라우터가 받아서 처리한다.

그림 8-6 웹 프레임워크 - 라우터 구현
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.