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") }
생성자 함수 NewServer로 Server 값을 생성했고, s.Run(":8080")으로 웹 서버를 구동했다. 다음은 웹 요청 처리 결과이다.