Echo微型 Web 框架
Echo 是一个用 Go 语言开发的快速 HTTP 路由器(零内存分配)和微型 Web 框架。
性能比较:
特性:
-
Zippy router.
-
Extensible middleware/handler, supports:
-
func(*echo.Context)
-
http.Handler
-
http.HandlerFunc
-
func(http.ResponseWriter, *http.Request)
-
func(*echo.Context)
-
func(echo.HandlerFunc) echo.HandlerFunc
-
func(http.Handler) http.Handler
-
http.Handler
-
http.HandlerFunc
-
func(http.ResponseWriter, *http.Request)
-
Middleware
-
Handler
-
-
Handy encoding/decoding functions.
-
支持静态文件处理
示例代码:
package main import ( "net/http" "github.com/labstack/echo" mw "github.com/labstack/echo/middleware" "github.com/rs/cors" "github.com/thoas/stats" ) type user struct { ID string `json:"id"` Name string `json:"name"` } var users map[string]user func init() { users = map[string]user{ "1": user{ ID: "1", Name: "Wreck-It Ralph", }, } } func createUser(c *echo.Context) { u := new(user) if c.Bind(u) { users[u.ID] = *u c.JSON(http.StatusCreated, u) } } func getUsers(c *echo.Context) { c.JSON(http.StatusOK, users) } func getUser(c *echo.Context) { c.JSON(http.StatusOK, users[c.P(0)]) } func main() { e := echo.New() //*************************// // Built-in middleware // //*************************// e.Use(mw.Logger) //****************************// // Third-party middleware // //****************************// // https://github.com/rs/cors e.Use(cors.Default().Handler) // https://github.com/thoas/stats s := stats.New() e.Use(s.Handler) // Route e.Get("/stats", func(c *echo.Context) { c.JSON(200, s.Data()) }) // Serve index file e.Index("public/index.html") // Serve static files e.Static("/js", "public/js") //************// // Routes // //************// e.Post("/users", createUser) e.Get("/users", getUsers) e.Get("/users/:id", getUser) // Start server e.Run(":8080") }
评论
Echo Go微型 Web 框架
Echo是个快速的HTTP路由器(零动态内存分配),也是Go的微型Web框架。特性经过优化的HTTP路由器,可对路由进行优先级排序构建健壮且可扩展的RESTfulAPI组API可扩展的中间件框架在根,
Echo Go微型 Web 框架
0
CherryPyPython 微型 Web 框架
CherryPy是一个基于Python的面向对象的HTTP框架。使用CherryPy来开发WebApplication是非常轻松的。但CherryPy并没用提供一种类似于PHP的templating语
CherryPyPython 微型 Web 框架
0
Rack微型Web框架(Ruby)
Rack为使用Ruby开发web应用提供了一个最小的模块化和可修改的接口。用可能最简单的方式来包装HTTP请求和响应,它为web服务器,web框架和中间件的API进行了统一并提纯到了单一的方法调用。R
Rack微型Web框架(Ruby)
0