Gin-gonic は、Go 言語で書かれた軽量で高性能な Web フレームワークで、RESTful API をサポートしており、拡張が簡単です。この記事では、Gin-gonicの基本的な使い方、ルーティング設定、ミドルウェアの使い方、テンプレートのレンダリングなどを紹介します。
1. 基本的な使い方
まず、Gin-gonic をインストールする必要があります。これは次のコマンドを使用してインストールできます:
go get -u github.com/gin-gonic/gin
インストールが完了したら、Gin を導入します。 -gonic を Go 言語 gonic に置き換えます:
import "github.com/gin-gonic/gin"
次は、単純な Gin-gonic Web アプリケーションです:
package main import "github.com/gin-gonic/gin" func main() { router := gin.Default() router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) router.Run(":8080") }
上記のコードは、ローカル 8080 ポートをリッスンするデフォルトの Gin-gonic ルーターを作成します。 、ユーザーがアクセスすると、「Hello, world!」メッセージが JSON 形式で返されます。
2. ルーティング設定
上記の手順に従って Router を作成した後、Router を使用してアプリケーションのルーティングを設定できます。 Gin-gonic Router は、GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD の HTTP メソッドをサポートします。ルートの作成方法を見てみましょう:
func main() { router := gin.Default() // 定义GET请求路由 router.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) // 定义POST请求路由 router.POST("/login", func(c *gin.Context) { // 获取表单中的username和password username := c.PostForm("username") password := c.PostForm("password") c.JSON(200, gin.H{ "username": username, "password": password, }) }) router.Run(":8080") }
上記のコードは 2 つのルートを定義しており、1 つは GET リクエストのルート/hello、もう 1 つは POST リクエストのルート/ログインです。 Route/hello, a JSON形式のメッセージ「Hello, world!」。ユーザーがルーティング/ログインにアクセスすると、ユーザーが送信したフォームデータが返されます。
3. ミドルウェア
Gin-gonic ミドルウェアは、リクエストとレスポンスの間の処理に使用できる機能です。一般的なミドルウェアには、ロギング、認証、リカバリなどが含まれます。 Golang の組み込み http パッケージのミドルウェア、または Gin-gonic のデフォルトのミドルウェアを使用できます。以下は、基本的な記録ミドルウェアです。
func main() { router := gin.Default() // 记录中间件 router.Use(func(c *gin.Context) { // 请求之前 // 记录请求时间 start := time.Now() // 请求处理 c.Next() // 请求之后 latency := time.Since(start) log.Print(latency) }) router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) router.Run(":8080") }
上記のコードは、各リクエストの前後のリクエスト処理時間を記録する記録ミドルウェアを定義します。
4. テンプレートのレンダリング
テンプレートは Web 開発における一般的なテクノロジであり、HTML/JavaScript/CSS などのフロントエンド テクノロジを使用して Web アプリケーションを構築できます。 Gin-gonic は、組み込みの htmpackage を介してテンプレートのレンダリングをサポートします。テンプレートを使用して動的ページをレンダリングできます。以下は、基本的なテンプレートのレンダリング例です。
func main() { router := gin.Default() // 模板设置 router.LoadHTMLGlob("templates/*.html") router.GET("/", func(c *gin.Context) { c.HTML(200, "index.html", gin.H{ "title": "Gin-gonic", }) }) router.Run(":8080") }
上記のコードは、単純なテンプレートのレンダリング例を定義しています。この例では、Gin デフォルト ルーターを使用してルート ルートの GET リクエストを作成します。テンプレート ファイルはテンプレート ディレクトリに保存する必要があります。この例では、「Gin-gonic」というタイトルを持つ H1 タグの形式で、index.html ファイルをレンダリングしました。
要約すると、Gin-gonic は非常に強力な Web フレームワークで、使いやすく拡張しやすく、RESTful API やテンプレート レンダリングなどの機能をサポートしています。 Golang の Develop Gin-gonic アプリケーションを使用すると、Web アプリケーションを簡単に構築できます。
以上がGolang の Web フレームワーク Gin-gonic を使用して Web アプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。