Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Abfrageparameter in einer Gorilla Mux GET-Anfrage optional machen?

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

DDD
DDDOriginal
2024-11-04 15:40:02409Durchsuche

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>

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>

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>

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!

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