有没有办法获得触发了的当前路线http.HandleFunc?也许是这样的?
http.HandleFunc("/foo/", serveFoo)
func serveFoo(rw http.ResponseWriter, req *http.Request) {
fmt.Println(http.CurrentRoute())
// Should print "/foo/"
}
我想获取当前路由的原因是因为我发现自己经常编写这样的代码。
if req.URL.Path != "/some-route/" {
http.NotFound(resp, req)
return
}
// or
key := req.URL.Path[len("/some-other-route/"):]
如果代码像这样更具有复制粘贴性、模块化和 DRY,那就太好了。
if req.URL.Path != http.CurrentRoute() {
http.NotFound(resp, req)
return
}
// or
key := req.URL.Path[http.CurrentRoute():]
这真的只是一件小事,所以我宁愿不将整个其他依赖项带入我的项目(Gorilla Mux)。
陪伴而非守候
相关分类