英文:
How to use Gin-gonic middleware with Google App Engine?
问题
我正在使用Gin-Gonic在Google App Engine平台上开发我的网站。
一切都运行正常,但我开始需要使用一些中间件。
当我尝试使用:
router.Use(MyMiddleware())
通过MyMiddleware()
返回的中间件似乎没有运行。
所以我的问题是:
- 在使用GAE时,是否可以使用gin-gonic中间件?
- 如果可以,如何实现?
谢谢!
以下是我的源代码:
main.go:
func init() {
router := routes.Router()
// 将配置设置到上下文中
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()
只是使用gin.New()
设置一个路由器并添加一些路由。
英文:
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.
答案1
得分: 1
中间件路由应该是在其他路由之前添加的。请查看我一个项目中的这个文件,我在其中使用了CORS中间件和Auth中间件。
https://github.com/wilsontamarozzi/panda-api/blob/master/routers/router.go
英文:
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
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论