ホームページ >バックエンド開発 >Golang >追加の引数を Gorilla Mux ハンドラーに渡すにはどうすればよいですか?

追加の引数を Gorilla Mux ハンドラーに渡すにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 09:15:02779ブラウズ

How to Pass Additional Arguments to Gorilla Mux Handlers?

Gorilla Mux ハンドラーに引数を渡す

Gorilla Mux では、ハンドラーは通常、HandleFunc メソッドを使用して登録されます。このメソッドは、 http.ResponseWriter と *http.Request を引数として使用します。

標準メソッドの制限

ただし、データベース オブジェクトなど、ハンドラーで追加の引数が必要な場合、デフォルトの HandleFunc メソッドには制限があります。引数は 2 つしか受け付けないため、追加のパラメータを渡すのは困難です。

考えられる解決策

この制限を克服するには、いくつかの回避策があります。

  1. グローバル変数:
    Go では一般に推奨されませんが、データベース オブジェクトにグローバル変数を使用することは許容されます。これにより、任意のハンドラーからデータベースに簡単にアクセスできるようになります。
  2. 構造体ベースのハンドラー:
    カスタム ハンドラー構造体を作成し、必要な引数を取るメソッドを定義します。その後、構造体をハンドラー関数に埋め込むことができます。

  3. ラッパー関数:
    追加の機能を提供するラッパー関数で実際のハンドラーをラップします。 argument.

アプローチの選択は、アプリケーションの要件と好みによって異なります。グローバル データベース オブジェクトを使用したくない場合、またはデータベースの複数のインスタンスが必要な場合は、構造体ベースまたはラッパー関数メソッドを使用すると柔軟性が高まります。

以上が追加の引数を Gorilla Mux ハンドラーに渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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