与go-chi
一样,在各个路线的级别设置中间件,而不是仅为所有路线设置全局
// Routes creates a REST router
func Routes() chi.Router {
r := chi.NewRouter()
r.Use(middleware.Captcha)
r.Post("/", Login)
return r
}
如何Login
指定一个独特的中间件或从一般中间件中排除?
答案 0 :(得分:3)
您有两种选择。自然的方式,由任何路由器支持:
r.Post("/", middlewareFunc(Login))
或者,如果您想使用特定于Chi的方式,请为一个特定端点创建一个新组:
loginGroup := r.Group(nil)
loginGroup.Use(middleware)
loginGroup.Post("/", Login)