2017-04-12 2 views
3

Ich möchte einige meiner Abfrageparameter optional haben. Was jetzt habe ichWie haben Sie eine optionale Abfrage in GET-Anfrage mit Gorilla Mux?

r.HandleFunc("/user", userByValueHandler). 
    Queries(
     "username", "{username}", 
     "email", "{email}", 
    ). 
    Methods("GET") 

Aber in diesem Fall „username“ und „E-Mail“ muss in der Anforderung vorhanden sein. Ich möchte eine flexiblere Wahl haben: 2 von ihnen ODER nur eine von ihnen haben (aber nicht Null-Parameter).

Danke!

Antwort

6

So fand ich die Lösung für meine Logik neu schreiben wie:

r.HandleFunc("/user", UserByValueHandler).Methods("GET") 

Und in UserByValueHandler können wir so etwas wie:

func UserByValueHandler(w http.ResponseWriter, r *http.Request) { 
     v := r.URL.Query() 

     username := v.Get("username") 
     email := v.Get("email") 
     ..... 
} 
Verwandte Themen