Go语言的Web微框架:Goji

jopen 10年前
Goji是一个用Go语言写的Web微框架,其设计受到了 Sinatra 的启发。Goji的设计理念是简单、可组合性、自由。

一个用Go语言写的Web微框架:Goji

Goji是一个用Go语言写的Web微框架,其设计受到了 Sinatra 的启发。Goji的设计理念是简单、可组合性、自由。它具有以下特点:

  • 兼容net/http
  • url模式(同时支持 Sinatra 风格的 /foo/:bar 和 正则表达式)
  • 可重构中间件栈
  • 通过中间件和处理器处理上下文/环境对象
  • 自动支持 Einhorn、systemd等
  • 渐进停止,配合 Einhorn 可实现零下线时间的渐进重载
  • Ruby on Rails / jQuery风格参数解析

项目主页:https://goji.io

项目文档:https://godoc.org/github.com/zenazn/goji

代码托管地址:https://github.com/zenazn/goji

一个简单的 Hello World 示例:

package main    import (          "fmt"          "net/http"            "github.com/zenazn/goji"          "github.com/zenazn/goji/web"  )    func hello(c web.C, w http.ResponseWriter, r *http.Request) {          fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"])  }    func main() {          goji.Get("/hello/:name", hello)          goji.Serve()  }