Gorilla Mux を使用した GET リクエストのオプションのクエリ パラメータ
Gorilla Mux で HTTP GET リクエストを操作する場合、多くの場合、以下を許可することが望ましいです。オプションのクエリパラメータ。デフォルトでは、ルート定義でクエリ パラメータを指定すると (例: Queries("username", "{username}"))、その存在が必須になります。
問題
質問で強調されているように、提供されたコードでは、リクエストに「ユーザー名」と「電子メール」の両方のクエリパラメータが存在する必要があります。ただし、オプションのクエリ文字列を許可して、どちらかまたは両方のパラメータを柔軟に提供できることが要件です。
解決策
これに対処するには、次の手順を実行します。推奨:
r.HandleFunc("/user", UserByValueHandler).Methods("GET")
func UserByValueHandler(w http.ResponseWriter, r *http.Request) { v := r.URL.Query() username := v.Get("username") email := v.Get("email") ..... }
このアプローチでは、オプションのクエリ パラメーターが可能になります。リクエストに特定のパラメーターが指定されていない場合、v.Get() は空の文字列を返します。これはコード内で適切に処理できます。
以上がGorilla Mux GET リクエストでクエリ パラメーターをオプションにする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。