ホームページ >バックエンド開発 >Golang >GoでGorilla/Muxを使用してURLパスパラメータを抽出する方法?

GoでGorilla/Muxを使用してURLパスパラメータを抽出する方法?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-24 08:52:301000ブラウズ

How to Extract URL Path Parameters Using Gorilla/Mux in Go?

Go での URL パス パラメーターの読み取り

特定の URL パスを処理する必要がある Web アプリケーションを Go で開発しています。特に、example.com/person/(any_name) の形式で URL パスの一部を読み取って表示したいとします。ここで、(any_name) は可変パラメータを表します。

これを実現するには、gorilla/ルート処理には、mux パッケージを強くお勧めします。

gorilla/mux の使用

gorilla/mux パッケージは、Go 用の強力なルーターです。 URL からパラメータを取得する機能など、ルートを簡単に定義および管理する方法が提供されます。

ゴリラ/マルチプレクサを使用して (any_name) パラメータを読み取って出力する方法は次のとおりです。

<code class="go">package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

func PersonHandler(w http.ResponseWriter, r *http.Request) {
    vars := mux.Vars(r)
    name := vars["name"]
    fmt.Fprintf(w, "Hello, %s!", name)
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/person/{name}", PersonHandler).Methods(http.MethodGet)

    if err := http.ListenAndServe(":8080", r); err != nil {
        log.Fatal(err)
    }
}</code>

このスクリプトでは、次のことを行います。

  1. ゴリラ/マルチプレクサを含む必要なパッケージをインポートします。
  2. /person/ へのリクエストを処理するハンドラー関数 PersonH​​andler を定義します。 {name} パス。
  3. gorilla/mux の Vars 関数を使用して、リクエストから {name} パラメータを抽出します。
  4. キャプチャされたパラメータ値 (人の名前) を応答ライターに書き込みます。
  5. HTTP メソッドが GET であることを指定して、ルーターにルートを登録します。
  6. ポート 8080 で Web サーバーを起動し、受信リクエストを待機します。

リクエストがあったときが example.com/person/John に作成されると、パラメータ名を John に設定して PersonH​​andler 関数が呼び出されます。この関数は「Hello, John!」を出力します。応答へ。

以上がGoでGorilla/Muxを使用してURLパスパラメータを抽出する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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