zen is a web framework written by go, you will love it if you preffer high performance and lightweight!!!
go get github.com/philchia/zen
func main() {
server := zen.NewServer()
if err := server.Run(":8080"); err != nil {
log.Println(err)
}
}
server := zen.NewServer()
server.Get("/test",handler)
server.Post("/test", handler)
server.Put("/test",handler)
server.Patch("/test", handler)
server.Del("/test",handler)
if err := server.Run(":8080"); err != nil {
log.Println(err)
}
server := zen.NewServer()
server.Get("/user/:uid",func (c *Context) {
c.JSON(map[string]string{"uid": c.Param(":uid")})
})
if err := server.Run(":8080"); err != nil {
log.Println(err)
}
func handler(c *zen.Context) {
type Inputs struct {
Name string `form:"name" json:"name"`
Age int `form:"age" json:"age"`
Mail string `form:"mail" valid:"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" msg:"邮件格式错误" json:"mail"`
}
var input Inputs
if err := c.ParseValidForm(&input); err != nil {
c.JSON(map[string]string{"err": err.Error()})
return
}
log.Println(input)
c.JSON(input)
}
server := zen.NewServer()
server.Filter(filter)
if err := server.Run(":8080"); err != nil {
log.Println(err)
}
server := zen.NewServer()
server.HandlePanic(func(c *zen.Context, err interface{}) {
c.RawStr(fmt.Sprint(err))
})
if err := server.Run(":8080"); err != nil {
log.Println(err)
}
server := zen.NewServer()
server.HandleNotFound(func(c *zen.Context) {
c.WriteStatus(http.StatusNotFound)
c.RawStr("page not found")
})
if err := server.Run(":8080"); err != nil {
log.Println(err)
}
- Implement radix tree route
- Detailed Document
- Handle redirect
- Unit test
- More context support
- Grace restart base on go 1.8
- fasthttp instead of net/http
zen is published under MIT license