Echo 微型 Web 框架

开源网站开源项目 24-07-05 14:30:26

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 mainimport (    "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]userfunc 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 框架]相关推荐
SteamOS 游戏操作系统

SteamOS 游戏操作系统

Valve宣布了基于Linux的SteamOS游戏操作系统,但并没有披露多少系统本身的细节。SteamOS可以安装在PC上,……...

OpenBMC

OpenBMC 是为Board Management Controller (BMC) 构建完整 Linux 镜像的开源框架。 OpenBMC 使用 Yocto ……...

Yar 并行的RPC框架

Yar 是一个支持多种打包协议的, 并行的RPC框架. 它基于HTTP协议, 在libcurl基础上开发而成 简单的Server:……...

TestLink 测试过程管理平台

TestLink 测试过程管理平台

TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、……...

今日开源
  1. PyQuery Python 的 HTML/XML 解析库

    PyQuery 让你使用 jQuery 的风格来遍历 XML 文档,它使用了 lxml 来处理 XML 乃至 HTML 文档。 你可以直接从字符串、URL或者文件中加载文档: >>>frompyqueryimportPyQueryaspq>>>fromlxmlimpor……

    开源软件 2024-07-08

  2. LDC 高性能 D 语言编译器

    LDC 高性能 D 语言编译器

    LDC 是一个高性能的 D 语言编译器,依赖 DMD 作为语言前端,后端使用 LLVM 架构生成代码,在各项测试中与C 和 C++ 性能持平,这也使得 dlang 的计算性能高于比较新的 rust 和 golang 。 LDC 支持非常多的编译架构……

    开源软件 2024-07-08

  3. Blip 用于查看网络延迟的工具

    Blip 是一个端到端的测试工具,旨在让你测量后两个要素:延迟和丢包。这些是你的网络浏览性能的真正指标。它并不试图测量带宽。 Blip 是用纯 JavaScript 编写的,所以它完全在你的浏览器中运行,不需要服务器端的……

    开源软件 2024-07-08

返回顶部小火箭