더북(TheBook)

main.go에서 서버를 사용하도록 수정

이제 main.go 파일에서 라우터가 아니라 서버를 사용하도록 수정해 보자.

▼ main.go

package main
 
import "fmt"
 
func main() {
    // 서버 생성
    s := NewServer()
     
    s.HandleFunc("GET", "/", func(c *Context) {
        fmt.Fprintln(c.ResponseWriter, "welcome!")
    })
     
    s.HandleFunc("GET", "/about", func(c *Context) {
        fmt.Fprintln(c.ResponseWriter, "about")
    })
     
    s.HandleFunc("GET", "/users/:id", func(c *Context) {
        if c.Params["id"] == "0" {
            panic("id is zero")
        }
        fmt.Fprintf(c.ResponseWriter, "retrieve user %v\n", c.Params["id"])
    })
     
    s.HandleFunc("GET", "/users/:user_id/addresses/:address_id", func(c *Context) {
        fmt.Fprintf(c.ResponseWriter, "retrieve user %v's address %v\n",
            c.Params["user_id"], c.Params["address_id"])
    })
     
    s.HandleFunc("POST", "/users", func(c *Context) {
        fmt.Fprintln(c.ResponseWriter, c.Params)
    })
     
    s.HandleFunc("POST", "/users/:user_id/addresses", func(c *Context) {
        fmt.Fprintln(c.ResponseWriter, c.Params)
    })
     
    // 웹 서버 구동
    s.Run(":8080")
}

생성자 함수 NewServerServer 값을 생성했고, s.Run(":8080")으로 웹 서버를 구동했다. 다음은 웹 요청 처리 결과이다.

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