登录
首页 >  Golang >  Go问答

如何获取没有参数的URL路径的内容?

来源:stackoverflow

时间:2024-02-13 23:18:22 459浏览 收藏

本篇文章给大家分享《如何获取没有参数的URL路径的内容?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我有一个使用 gorilla/mux 的 restful api。它在路径中被参数化。我这样创建它:

r := mux.NewRouter()
subr := r.PathPrefix("/v1").Subrouter()
subr.Handle("/organizations/{orgId}/projects/{projectId}", CreateProject()).Methods(http.MethodPost)

但是,当捕获请求并记录结果时,我不想记录,即

/组织/fff-555-aaa9999/projects/amazing-project

这是我通过解析 r *http.request.url 值得到的结果。

相反,我想获取 /organizations/{orgid}/projects/{projectid} 的初始路由器值,以便我可以在日志记录中过滤

使用gorilla/mux,有没有办法在没有实际参数的情况下获取路由器路径,而是获取参数变量?


正确答案


createproject 函数中你可以使用这个:

func CreateProject(w http.ResponseWriter, r *http.Request) {
    path, _ := mux.CurrentRoute(r).GetPathTemplate()
    fmt.Println(path)
}

今天关于《如何获取没有参数的URL路径的内容?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>