在 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中文网其他相关文章!