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!