首页  >  文章  >  后端开发  >  如何打印不带参数的url路径?

如何打印不带参数的url路径?

王林
王林转载
2024-02-11 18:57:231185浏览

如何打印不带参数的url路径?

php小编草莓在这里为大家介绍如何打印不带参数的url路径。在web开发中,我们经常需要获取当前页面的url,并且去除掉其中的参数部分,只保留路径部分。这样做的好处是可以让url更加简洁,同时也有利于SEO优化。在PHP中,我们可以通过一些简单的代码来实现这个功能。接下来,我将为大家详细介绍具体的实现方法。让我们一起来学习吧!

问题内容

我有一个使用 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路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除