Home  >  Article  >  Backend Development  >  Build web applications using Golang's web framework Gin-gonic

Build web applications using Golang's web framework Gin-gonic

王林
王林Original
2023-06-24 11:23:021469browse

Gin-gonic is a lightweight, high-performance web framework written in Go language, supports RESTful API and is easy to expand. This article will introduce the basic use of Gin-gonic, routing settings, middleware use, template rendering, etc.

1. Basic use

First, we need to install Gin-gonic, which can be installed using the following command:

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

After the installation is completed, introduce Gin-gonic into the Go language gonic:

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

The following is a simple Gin-gonic Web application:

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

The above code creates a default Gin-gonic router, listening to the local 8080 port, when the user accesses Returns a "Hello, world!" message in JSON format.

2. Routing settings

After creating the Router according to the above steps, you can use the Router to set the routing of the application. Gin-gonic Router supports the following HTTP methods: GET, POST, PUT, PATCH, DELETE, OPTIONS and HEAD. Let’s take a look at how to create a route:

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

The above code defines two routes, one is the GET request route/hello, and the other is the POST request route/login. When the user accesses the route/hello, a The message "Hello, world!" in JSON format, when the user accesses routing/login, the form data submitted by the user will be returned.

3. Middleware

Gin-gonic middleware is a function that can be used to process between requests and responses. Common middleware include Logging, Authentication, Recovery, etc. We can use the middleware of Golang's built-in http package or the default middleware in Gin-gonic. The following is a basic recording middleware:

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

The above code defines a recording middleware, which records the request processing time before and after each request.

4. Template rendering

Template is a common technology in web development, which allows us to build web applications using front-end technologies such as HTML/JavaScript/CSS. Gin-gonic supports template rendering through the built-in htmpackage. We can use templates to render dynamic pages. The following is a basic template rendering example:

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

The above code defines a simple template rendering example. In this example, we create a GET request for the root route using Gin default router. Template files should be stored in the templates directory. In this example, we just rendered an index.html file, in the form of an H1 tag with a "Gin-gonic" title.

To sum up, Gin-gonic is a very powerful web framework, easy to use and expand, and supports functions such as RESTful API and template rendering. We can easily build web applications using Golang's Develop Gin-gonic application.

The above is the detailed content of Build web applications using Golang's web framework Gin-gonic. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn