Golang の Web フレームワーク Gin-gonic を使用して Web アプリケーションを構築する

王林
リリース: 2023-06-24 11:23:02
オリジナル
1303 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!