더북(TheBook)

main.go에서 모든 웹 요청을 라우터가 처리하도록 수정

모든 웹 요청을 라우터가 받아 처리하도록 웹 애플리케이션을 구동하는 소스를 수정해 보자.

▼ main.go

package main
 
import (
    “fmt”
    “net/http”
)
 
func main() {
    r := &router{make(map[string]map[string]http.HandlerFunc)}
 
r.HandleFunc(“GET”, ”/”, func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, “welcome!”) })
r.HandleFunc(“GET”, ”/about”, func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, “about”) })
r.HandleFunc(“GET”, ”/users/:id”, func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, “retrieve user”) })
r.HandleFunc(“GET”, ”/users/:user_id/addresses/:address_id”, func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, “retrieve user’s address”) }) r.HandleFunc(“POST”, ”/users”, func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, “create user”) })
r.HandleFunc(“POST”, ”/users/:user_id/addresses”, func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, “create user’s address”) })
http.ListenAndServe(“:8080”, r) }

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.