koajs
koa -- 基於nodejs平臺的下一代web開發框架
goa
最近因工作需要從nodejs轉到go,因此開發了一個koa for golang的web框架--goa。
當golang 與 koa 結合會發生什麼呢?goa就是答案
github地址:goa
demo:
package main
import (
"fmt"
"time"
"github.com/goa-go/goa"
"github.com/goa-go/goa/router"
)
func logger(c *goa.Context, next func()) {
start := time.Now()
fmt.Printf("[%s] <-- %s %s\n", start.Format("2006-6-2 15:04:05"), c.Method, c.URL)
next()
fmt.Printf("[%s] --> %s %s %d%s\n", time.Now().Format("2006-6-2 15:04:05"), c.Method, c.URL, time.Since(start).Nanoseconds()/1e6, "ms")
}
func json(c *goa.Context) {
c.JSON(goa.M{
"string": "string",
"int": 1,
"json": goa.M{
"key": "value",
},
})
}
func main() {
app := goa.New()
router := router.New()
router.GET("/", func(c *goa.Context) {
c.String("hello world")
})
router.GET("/json", json)
app.Use(logger)
app.Use(router.Routes())
app.Listen(":3000")
}
如果覺得這個專案不錯的話,請給個star給予作者鼓勵,
另外歡迎fork和加入開發團隊共建。
再次貼上地址https://github.com/goa-go/goa