ホームページ  >  記事  >  バックエンド開発  >  Gorilla Mux でオプションの URL パラメーターを処理する方法は?

Gorilla Mux でオプションの URL パラメーターを処理する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-27 02:17:12425ブラウズ

How to Handle Optional URL Parameters in Gorilla Mux?

Gorilla Mux でオプションの URL 変数を処理する方法

オプションの URL 変数を使用したルートの作成は、Gorilla Mux ライブラリで実現できます。その方法を見てみましょう:

現在のセットアップと問題:

提供されたコードは、URL に整数変数 ID を必要とするルートを定義していますが、すべてのシナリオでは必要ありません。 ID が必要になる場合があります。目標は、ルートが id 変数ありとなしの両方のケースを受け入れるようにすることです。

解決策:

これを実現するには、ハンドラーを 2 回登録します。

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

パラメータを指定せずにパス /view を使用してハンドラーを登録すると、ルートが存在しない場合でもルートが機能するようになります。 id.

変数の処理:

リクエストから変数を取得するときは、id 変数の存在を確認することが重要です:

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

リクエストに id が存在しない場合 (つまり、/view がリクエストされた場合)、ok 変数は false となり、適切に処理できます。 (例: ディレクトリのリストを表示します)。それ以外の場合、ID 値は特定のビュー ハンドラーで使用できます。

以上がGorilla Mux でオプションの URL パラメーターを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。