Web アプリケーションでは、ルーティングとは、要求された URL に基づいてアプリケーションを見つけるコード スニペットを指します。 Golang でルーティングを変更するのは非常に簡単です。この記事では、Golang を使用してルーティングを変更し、独自の Web アプリケーションを作成する方法を紹介します。
ルーティングの変更方法を理解するには、HTTP リクエストを処理するコード ベースが必要です。この目的には、標準ライブラリの net/http パッケージを使用できます。また、より高度なルーティング メカニズムを提供する Gorilla/mux パッケージを使用する必要もあります。
まず、gorilla/mux パッケージをインストールする必要があります。次のコマンドを使用してインストールします。
go get -u github.com/gorilla/mux
次に、2 つのルートを含む Gorilla/mux パッケージを使用する例を見ていきます。
package main import ( "encoding/json" "log" "net/http" "github.com/gorilla/mux" ) type Product struct { ID string `json:"id"` Name string `json:"name"` Price float64 `json:"price"` } var products []Product func getProducts(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") json.NewEncoder(w).Encode(products) } func getProduct(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") params := mux.Vars(r) for _, item := range products { if item.ID == params["id"] { json.NewEncoder(w).Encode(item) return } } json.NewEncoder(w).Encode(&Product{}) } func main() { router := mux.NewRouter() products = append(products, Product{ID: "1", Name: "Product 1", Price: 29.99}) products = append(products, Product{ID: "2", Name: "Product 2", Price: 39.99}) products = append(products, Product{ID: "3", Name: "Product 3", Price: 49.99}) router.HandleFunc("/products", getProducts).Methods("GET") router.HandleFunc("/products/{id}", getProduct).Methods("GET") log.Fatal(http.ListenAndServe(":8000", router)) }
上の例では、2 つのハンドラー関数を作成しました。 getProducts と getProduct 。最初の関数はすべての製品を取得し、クライアントに送り返します。 2 番目の関数は、ID で検索できる単一の製品を取得します。また、各ハンドラー関数のルートも定義します。これは、router.HandleFunc メソッドと .Methods メソッドを使用して実行できます。
2 番目のルートには、URL で ID を渡すために使用されるパラメーター {id} があることがわかります。このパラメータは、mux.Vars 関数を通じて URL から取得されます。
最後に、main 関数は HTTP サーバーとそのポートを定義し、gorilla/mux パッケージを使用してルートを作成します。アプリケーションを実行すると、HTTP サーバーが起動し、ポート 8000 で待機します。
ルートを作成し、ハンドラー関数を定義したので、あとは http.HandleFunc 関数と http.ListenAndServe 関数を使用して、ポート 8000 上のすべてのリクエストをリッスンするだけです。
概要
上記の例を通して、Golang を使用してルーティングを変更するのは非常に簡単であり、高度なルーティング機能は Gorilla/mux パッケージを使用してより簡単に実装できることがわかります。
同様の方法を使用して、新しいルートを追加したり、既存のルートを変更したりできます。これにより、コーディングや学習に手間をかけることなく、複雑な Web アプリケーションを迅速に作成できるようになります。
したがって、Web アプリケーションを構築している場合は、Golang と Gorilla/mux パッケージを使用してルーティングを変更し、HTTP リクエストを処理することをお勧めします。
以上がgolangでルーティングを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。