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

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

Mary-Kate Olsen
リリース: 2024-11-27 02:17:12
オリジナル
502 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート