微型Web框架Echo.zip

时间:2022-08-08 12:01:21
【文件属性】:

文件名称:微型Web框架Echo.zip

文件大小:307KB

文件格式:ZIP

更新时间:2022-08-08 12:01:21

开源项目

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  Web框架


【文件预览】:
echo-master
----.gitignore(54B)
----context_test.go(20KB)
----README.md(4KB)
----.github()
--------ISSUE_TEMPLATE.md(561B)
--------stale.yml(683B)
----bind_test.go(13KB)
----router_test.go(29KB)
----_fixture()
--------certs()
--------folder()
--------images()
--------index.html(122B)
--------favicon.ico(1KB)
----LICENSE(1KB)
----log.go(927B)
----router.go(9KB)
----go.mod(508B)
----.gitattributes(691B)
----middleware()
--------util_test.go(2KB)
--------compress.go(3KB)
--------recover.go(2KB)
--------cors_test.go(3KB)
--------proxy_1_11_n.go(250B)
--------static.go(5KB)
--------body_limit.go(3KB)
--------redirect.go(5KB)
--------method_override_test.go(1KB)
--------rewrite.go(2KB)
--------proxy_1_11.go(652B)
--------body_limit_test.go(2KB)
--------csrf.go(6KB)
--------body_dump_test.go(2KB)
--------method_override.go(3KB)
--------request_id.go(1KB)
--------recover_test.go(571B)
--------key_auth_test.go(2KB)
--------slash_test.go(3KB)
--------secure_test.go(3KB)
--------key_auth.go(4KB)
--------compress_test.go(4KB)
--------jwt.go(7KB)
--------request_id_test.go(760B)
--------proxy_test.go(3KB)
--------jwt_test.go(9KB)
--------basic_auth_test.go(2KB)
--------util.go(1KB)
--------middleware.go(852B)
--------rewrite_test.go(2KB)
--------body_dump.go(2KB)
--------logger_test.go(5KB)
--------static_test.go(2KB)
--------slash.go(3KB)
--------secure.go(5KB)
--------cors.go(5KB)
--------basic_auth.go(3KB)
--------redirect_test.go(3KB)
--------csrf_test.go(2KB)
--------proxy.go(6KB)
--------proxy_1_11_test.go(1016B)
--------logger.go(6KB)
----echo.go(24KB)
----group_test.go(1KB)
----response_test.go(963B)
----context.go(15KB)
----go.sum(5KB)
----.travis.yml(329B)
----bind.go(9KB)
----.editorconfig(467B)
----Makefile(84B)
----echo_test.go(13KB)
----group.go(4KB)
----response.go(3KB)

网友评论