doukui7574
doukui7574
2017-01-12 15:28
浏览 33
已采纳

如何在Google App Engine中使用Gin-gonic中间件?

I'm using Gin-Gonic on a Google App Engine platform for my website. Everything works fine but I'm starting to need to use some middleware.

When I try to use :

router.Use(MyMiddleware())

The middleware returned by MyMiddleware() doesn't seem to be run.

So my questions are :

  • Is it possible to use gin-gonic middlewares when working with GAE ?
  • If so, how can I achieve it ?

Thank you !

Here are my sources :

main.go :

func init() {
    router := routes.Router()

    // Set the config to the context
    router.Use(SetConfiguration())

    http.Handle("/", router)
}

func SetConfiguration() gin.HandlerFunc {
    configuration := config.GetConfiguration()

    return func(c *gin.Context) {
        c.Set("config", configuration)
        c.Next()
    }
}

PS : routes.Router() simply set a router with gin.New() and add some routes.

图片转代码服务由CSDN问答提供 功能建议

我正在Google App Engine平台上为我的网站使用Gin-Gonic。 一切正常,但我 m开始需要使用一些中间件。

当我尝试使用时:

  router.Use(MyMiddleware())
    
 
 

MyMiddleware()返回的中间件似乎没有运行。

所以我的 问题是:

  • 在使用GAE时是否可以使用gin-gonic中间件?
  • 如果可以,我如何实现它? ?

    谢谢!

    以下是我的资料来源:

    主要。 go:

      func init(){
     router:= route.Router()
     
     //将配置设置为上下文
    路由器。Use(SetConfiguration  ())
     
     http.Handle(“ /”,路由器)
    } 
     
    func SetConfiguration()gin.HandlerFunc {
     configuration:= config.GetConfiguration()
     
     return func(c *  gin.Context){
     c.Set(“ config”,configuration)
     c.Next()
    } 
    } 
       
     
     

    PS : routes.Router()只需使用 gin.New()设置路由器并添加一些路由。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dsbifvcxr458755493
    dsbifvcxr458755493 2017-01-12 21:06
    已采纳

    The middleware route should be the first to be added before the other routes. See this file from a project of mine where I use CORS Middleware and Auth Middleware

    https://github.com/wilsontamarozzi/panda-api/blob/master/routers/router.go

    点赞 评论

相关推荐