Home > Article > Backend Development > Build web applications using Golang's web framework Gin-gonic
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!