Maison >développement back-end >Golang >Comment gérer les variables d'URL facultatives dans Gorilla Mux ?

Comment gérer les variables d'URL facultatives dans Gorilla Mux ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-11 16:30:11751parcourir

How to Handle Optional URL Variables in Gorilla Mux?

Variables d'URL facultatives avec Gorilla Mux

Dans Gorilla Mux, vous pouvez définir des variables d'URL facultatives en enregistrant le gestionnaire avec plusieurs chemins.

Par exemple , considérons l'itinéraire suivant :

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)
}

La première route correspond aux URL avec une variable d'identifiant entier, tandis que la la deuxième route correspond aux URL sans variable d'identification.

Lors de l'accès aux variables à partir de la requête, vérifiez la présence de la variable facultative :

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

En enregistrant le gestionnaire deux fois, vous pouvez gérer les deux scénarios : URL avec et sans la variable facultative id.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn