我将 Go 与 http 一起使用,如下所示:mux := http.NewServeMux()mux.HandleFunc("/API/user", test)mux.HandleFunc("/authAPI/admin", auth)我想在每个 http 请求之前运行一个函数,更好的是,在每个包含 /authAPI/ 的请求上运行一个函数。我如何在 Go 中实现这一目标?
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
我将 Go 与 http 一起使用,如下所示:
mux := http.NewServeMux()
mux.HandleFunc("/API/user", test)
mux.HandleFunc("/authAPI/admin", auth)
我想在每个 http 请求之前运行一个函数,更好的是,在每个包含 /authAPI/ 的请求上运行一个函数。
我如何在 Go 中实现这一目标?
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
你可以只写一个包装函数:
func wrapHandlerFunc(handler http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, req *http.Request) {
// ...
// do something
// ...
handler(w, req)
}
}
并像这样使用它:
mux.HandleFunc("/authAPI/admin", wrapHandlerFunc(auth))
mux据我所知,不支持为给定 URL 树(子路由器,用语)下的所有内容自动运行它。
- 2 回答
- 0 关注
- 254 浏览
添加回答
举报
0/150
提交
取消