美文网首页Go语言实践GoGolang
基于golang的koa: 一个基于中间件的web框架goa

基于golang的koa: 一个基于中间件的web框架goa

作者: Nicholas_3a05 | 来源:发表于2019-08-07 19:19 被阅读4次

    koajs

    相信绝大部分使用nodejs的开发者都知道koa,甚至每天都在跟koa打交道。

    goa

    最近因工作需要从nodejs转到go,因此开发了一个koa for golang的web框架--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

    相关文章

      网友评论

        本文标题:基于golang的koa: 一个基于中间件的web框架goa

        本文链接:https://www.haomeiwen.com/subject/gtiadctx.html