首页 > 后端开发 > Golang > 如何处理 Gorilla Mux 中的可选 URL 变量?

如何处理 Gorilla Mux 中的可选 URL 变量?

Susan Sarandon
发布: 2024-12-11 16:30:11
原创
755 人浏览过

How to Handle Optional URL Variables in Gorilla Mux?

Gorilla Mux 的可选 URL 变量

在 Gorilla Mux 中,您可以通过注册多个路径的处理程序来定义可选 URL 变量。

例如,考虑以下路由:

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/view/{id:[0-9]+}", MakeHandler(ViewHandler))
    // Add a second handler for the optional URL variable
    r.HandleFunc("/view", MakeHandler(ViewHandler))
    http.Handle("/", r)
    http.ListenAndServe(":8080", nil)
}
登录后复制

第一个路由与具有整数 id 的 URL 匹配变量,而第二条路由匹配没有 id 变量的 URL。

从请求访问变量时,检查是否存在可选变量:

vars := mux.Vars(r)
id, ok := vars["id"]
if !ok {
  // Directory listing or some other action without an ID
  return
}

// Specific view with the ID
登录后复制

通过注册处理程序两次,您可以处理两种情况:带有和不带有可选 id 变量的 URL。

以上是如何处理 Gorilla Mux 中的可选 URL 变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板