Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bina aplikasi web menggunakan rangka kerja web Golang Gin-gonic

Bina aplikasi web menggunakan rangka kerja web Golang Gin-gonic

王林
王林asal
2023-06-24 11:23:021412semak imbas

Gin-gonic ialah rangka kerja web yang ringan dan berprestasi tinggi yang ditulis dalam bahasa Go, menyokong API RESTful dan mudah dikembangkan. Artikel ini akan memperkenalkan penggunaan asas Gin-gonic, tetapan penghalaan, penggunaan perisian tengah, pemaparan templat, dsb.

1. Penggunaan asas

Pertama sekali, kita perlu memasang Gin-gonic, yang boleh dipasang menggunakan arahan berikut:

go get -u github.com/gin-gonic/gin

Selepas pemasangan selesai, memperkenalkan Gin-gonic ke dalam gonik bahasa Go:

import "github.com/gin-gonic/gin"

Berikut ialah aplikasi web Gin-gonic yang mudah:

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")
}

Kod di atas mencipta penghala Gin-gonic lalai yang mendengar bahasa tempatan port 8080 apabila pengguna mengaksesnya Mengembalikan mesej "Hello, dunia!"

2. Tetapan penghalaan

Selepas membuat Penghala mengikut langkah di atas, anda boleh menggunakan Penghala untuk menetapkan penghalaan aplikasi. Penghala Gin-gonic menyokong kaedah HTTP berikut: GET, POST, PUT, PATCH, DELETE, OPTIONS dan HEAD. Mari kita lihat cara membuat laluan:

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")
}

Kod di atas mentakrifkan dua laluan, satu ialah laluan permintaan GET /hello, dan satu lagi laluan permintaan POST /log masuk Apabila pengguna mengakses route /hello, a Mesej "Hello, world!" dalam format JSON, apabila pengguna mengakses penghalaan/log masuk, data borang yang diserahkan oleh pengguna akan dikembalikan.

3. Middleware

Gin-gonic middleware ialah fungsi yang boleh digunakan untuk memproses antara permintaan dan respons. Perisian tengah biasa termasuk Pengelogan, Pengesahan, Pemulihan, dsb. Kita boleh menggunakan middleware pakej http terbina dalam Golang atau middleware lalai dalam Gin-gonic. Berikut ialah perisian tengah pengelogan asas:

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")
}

Kod di atas mentakrifkan perisian tengah pengelogan yang merekodkan masa pemprosesan permintaan sebelum dan selepas setiap permintaan.

4. Paparan templat

Templat ialah teknologi biasa dalam pembangunan web, yang membolehkan kami membina aplikasi web menggunakan teknologi bahagian hadapan seperti HTML/JavaScript/CSS. Gin-gonic menyokong pemaparan templat melalui htmpackage terbina dalam. Kami boleh menggunakan templat untuk memaparkan halaman dinamik. Berikut ialah contoh pemaparan templat asas:

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")
}

Kod di atas mentakrifkan contoh pemaparan templat mudah. Dalam contoh ini, kami membuat permintaan GET untuk laluan akar menggunakan penghala lalai Gin. Fail templat hendaklah disimpan dalam direktori templat. Dalam contoh ini, kami baru sahaja memaparkan fail index.html, dalam bentuk teg H1 dengan tajuk "Gin-gonic".

Ringkasnya, Gin-gonic ialah rangka kerja web yang sangat berkuasa yang mudah digunakan dan dilanjutkan, menyokong fungsi seperti RESTful API dan pemaparan templat. Kami boleh membina aplikasi web dengan mudah menggunakan aplikasi Develop Gin-gonic Golang.

Atas ialah kandungan terperinci Bina aplikasi web menggunakan rangka kerja web Golang Gin-gonic. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn