特定路由上的中间件
Middleware on a specific route
与 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)
与 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)