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

Mary-Kate Olsen
Freigeben: 2024-11-27 02:17:12
Original
426 Leute haben es durchsucht

How to Handle Optional URL Parameters in Gorilla Mux?

So gehen Sie mit optionalen URL-Variablen mit Gorilla Mux um

Das Erstellen von Routen mit optionalen URL-Variablen kann in der Gorilla Mux-Bibliothek durchgeführt werden. Sehen wir uns an, wie es geht:

Aktuelles Setup und Problem:

Der bereitgestellte Code definiert eine Route, die eine ganzzahlige Variablen-ID in der URL erfordert, aber nicht in allen Szenarien Möglicherweise ist ein Ausweis erforderlich. Das Ziel besteht darin, dass die Route beide Fälle akzeptiert: mit und ohne die ID-Variable.

Lösung:

Um dies zu erreichen, registrieren Sie den Handler zweimal:

r.HandleFunc("/view", MakeHandler(ViewHandler))
r.HandleFunc("/view/{id:[0-9]+}", MakeHandler(ViewHandler))
Nach dem Login kopieren

Durch die Registrierung des Handlers beim Pfad/der Ansicht ohne Parameter kann die Route auch dann funktionieren, wenn keine Parameter vorhanden sind id.

Verarbeitung von Variablen:

Beim Abrufen von Variablen aus der Anfrage ist es wichtig, das Vorhandensein der ID-Variablen zu überprüfen:

vars := mux.Vars(r)
id, ok := vars["id"]
if !ok {
    // Directory listing or equivalent logic
    return
}
// Specific view logic
Nach dem Login kopieren

Wenn id in der Anfrage nicht vorhanden ist (d. h. /view wurde angefordert), ist die Variable „ok“ falsch und Sie können damit entsprechend umgehen (z. B. eine Verzeichnisliste anzeigen). Andernfalls steht der ID-Wert zur Verwendung im spezifischen Ansichtshandler zur Verfügung.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit optionalen URL-Parametern 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