与 go-chi
一样,在各个路由级别设置中间件,而不是全局设置所有路由
// Routes creates a REST router
func Routes() chi.Router {
r := chi.NewRouter()
r.Use(middleware.Captcha)
r.Post("/", Login)
return r
}
Login
如何指定唯一的中间件或从通用中间件中排除?
最佳答案
您有两个选择。任何路由器都支持的自然方式:
r.Post("/", middlewareFunc(Login))
或者,如果您想使用特定于 Chi 的方式,请为一个特定端点创建一个新组:
loginGroup := r.Group(nil)
loginGroup.Use(middleware)
loginGroup.Post("/", Login)
关于http - 特定路由上的中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957988/