Go 之 Gin 框架
Gin 是一个用 Go (Golang) 编写的 web 框架,它是一个类似于 Express.js 的框架,简洁而高效。
以下是一些使用 Gin 框架的示例代码:
- 基本的 GET 路由处理:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello world!",
})
})
r.Run()
}
- 使用 POST 方法接收 JSON 数据:
package main
import "github.com/gin-gonic/gin"
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
r := gin.Default()
r.POST("/person", func(c *gin.Context) {
var person Person
if c.BindJSON(&person) == nil {
c.JSON(200, gin.H{
"message": "Success",
"person": person,
})
} else {
c.JSON(400, gin.H{
"message": "Error",
})
}
})
r.Run()
}
- 使用中间件:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
// 添加一个中间件,在所有请求前打印日志
r.Use(gin.Logger())
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello world!",
})
})
r.Run()
}
- 使用路由组管理路由:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
// 创建一个路由组,所有路由都在 /user 下
userGroup := r.Group("/user")
// 在路由组内添加路由
{
userGroup.GET("/:name", func(c *gin.Context) {
name := c.Param("name")
c.JSON(200, gin.H{
"message": "Hello, " + name,
})
})
}
r.Run()
}
以上代码展示了 Gin 框架的基本使用,包括如何创建路由、如何处理 JSON 数据、如何添加中间件和路由组管理。这些是开发者在使用 Gin 框架时会经常用到的功能。
评论已关闭