Heim > Backend-Entwicklung > Golang > Wie gehe ich mit optionalen URL-Variablen in Gorilla Mux um?

Wie gehe ich mit optionalen URL-Variablen in Gorilla Mux um?

Susan Sarandon
Freigeben: 2024-12-11 16:30:11
Original
755 Leute haben es durchsucht

How to Handle Optional URL Variables in Gorilla Mux?

Optionale URL-Variablen mit Gorilla Mux

In Gorilla Mux können Sie optionale URL-Variablen definieren, indem Sie den Handler mit mehreren Pfaden registrieren.

Zum Beispiel Betrachten Sie die folgende Route:

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)
}
Nach dem Login kopieren

Die erste Route gleicht URLs mit einer ganzzahligen ID-Variablen ab, während die zweite Route stimmt mit URLs ohne ID-Variable überein.

Überprüfen Sie beim Zugriff auf Variablen aus der Anfrage, ob die optionale Variable vorhanden ist:

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
Nach dem Login kopieren

Indem Sie den Handler zweimal registrieren, können Sie beide Szenarien bewältigen: URLs mit und ohne die optionale ID-Variable.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit optionalen URL-Variablen in Gorilla Mux um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage