【发布时间】:2020-02-12 16:43:00
【问题描述】:
我正在使用 golang net/http 函数 http.HandleFunc 将 URL 模式与函数相关联。
我想知道有没有比做更好的事情
http.HandleFunc("/foo", fooFunc)
http.HandleFunc("/foo/", fooFunc)
http.HandleFunc("/bar", barFunc)
http.HandleFunc("/bar/", barFunc)
将 fooFunc 匹配到 "/foo" 和 "/foo/" 端点等 bar。
作为奖励,我如何将 foo 函数限制为仅例如 GET 请求。
(谢谢!)
【问题讨论】:
-
一个更好的解决方案:只需注册一个带有斜杠的路径,您就可以“免费”获得另一个路径。引用
http.ServeMux: “如果一个子树已经被注册并且接收到一个请求命名子树根没有它的尾部斜杠,ServeMux 将该请求重定向到子树根(添加尾部斜杠)。” -
@icza 太棒了,谢谢。供参考:文档可以在这里找到:golang.org/pkg/net/http/#ServeMux
标签: go