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
Susan SarandonOriginal
2024-12-11 16:30:11751Durchsuche

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

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

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!

Stellungnahme:
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