Wie kann ich Abfrageparameter in einer Gorilla Mux GET-Anfrage optional machen?

DDD
Freigeben: 2024-11-04 15:40:02
Original
407 Leute haben es durchsucht

How Can I Make Query Parameters Optional in a Gorilla Mux GET Request?

Abfrageparameter in GET-Anfragen: Optionale Parameter mit Gorilla Mux

In Gorilla Mux werden Abfrageparameter zum Filtern und Abrufen von Daten aus einer verwendet HTTP-Anfrage. Standardmäßig müssen alle angegebenen Abfrageparameter in der Anfrage vorhanden sein. Es kann jedoch Fälle geben, in denen Sie einige Parameter optional machen möchten.

Stellen Sie sich beispielsweise ein Szenario vor, in dem eine GET-Anfrage entweder einen „Benutzernamen“- oder einen „E-Mail“-Parameter enthalten soll, aber nicht unbedingt beide . Zuvor sah Ihr Code möglicherweise etwa so aus:

<code class="go">r.HandleFunc("/user", userByValueHandler).
    Queries(
        "username", "{username}",
        "email", "{email}",
    ).
    Methods("GET")</code>
Nach dem Login kopieren

Für diesen Code müssen sowohl „Benutzername“ als auch „E-Mail“ in der Anfrage vorhanden sein. Um diese Parameter optional zu machen, können wir unseren Code wie folgt ändern:

<code class="go">r.HandleFunc("/user", UserByValueHandler).Methods("GET")</code>
Nach dem Login kopieren

Jetzt wird der Routenhandler „/user“ unabhängig vom Vorhandensein von Abfrageparametern aufgerufen. Um die optionalen Parameter abzurufen, können wir die Methode URL.Query() in der Handler-Funktion verwenden:

<code class="go">func UserByValueHandler(w http.ResponseWriter, r *http.Request) {
       v := r.URL.Query()

       username := v.Get("username")
       email := v.Get("email")
       .....
}</code>
Nach dem Login kopieren

Die Funktion v.Get() gibt den mit dem angegebenen Parameternamen verknüpften Wert oder einen zurück leere Zeichenfolge, wenn der Parameter nicht vorhanden ist. Dadurch können wir beide Fälle bearbeiten, in denen ein oder zwei Parameter in der Anfrage bereitgestellt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich Abfrageparameter in einer Gorilla Mux GET-Anfrage optional machen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage