如何使用 http.HandleFunc 以“/”结尾或以“/”结尾的模式映射到相同的函数

我正在使用 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请求。


(谢谢!)


鸿蒙传说
浏览 128回答 1
1回答

潇湘沐

一个更好的解决方案:只需注册一个带有斜杠的路径,您就可以“免费”获得另一条路径。引自http.ServeMux:如果已注册子树并且接收到命名子树根但没有尾部斜杠的请求,则 ServeMux 将该请求重定向到子树根(添加尾部斜杠)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go