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