Gin
Gin Middleware
基本用法示例 func Logger() gin.HandlerFunc { return func(c *gin.Context) { t := time.Now() // 设置 example 变量 c.Set("example", "12345") // 请求前 c.Next() // 请求后 latency := time.Since(t) log.Print(latency) // 获取发送的 status status := c.Writer.Status() log.Println(status) } } func main() { r := gin.New() r.Use(Logger()) r.GET("/test", func(c *gin.Context) { example := c.MustGet("example").(string) // 打印:"12345" log.Println(example) }) // 监听并在 0.0.0.0:8080 上启动服务 r.Run(":8080") } 常用函数(Gin Context) 本节中 c 均指 c *gin.Context ...
Gin QuickStart
基本用法示例 package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { router := gin.Default() router.GET("/ping", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{ "message": "pong", }) }) router.Run() } 一般情况下 Gin 和 go 的 HTTP 模块配合使用, Gin 负责基本框架, go 的 HTTP 模块负责状态码管理等 默认路由为 router := gin.Default 启动命令为 router.Run(), 默认监听 8000 端口 自定义配置 // 不指定 Gin 的绑定地址和端口。默认绑定所有接口,端口为 8080。 // 使用不带参数的 `Run()` 时,可通过 `PORT` 环境变量更改监听端口。 router := gin.Default() router.Run() // 指定 Gin 的绑定地址和端口。 router := gin.Default() router.Run("192.168.1.100:8080") // 仅指定监听端口。将绑定所有接口。 router := gin.Default() router.Run(":8080") // 设置哪些 IP 地址或 CIDR 被视为可信任的代理,用于设置记录真实客户端 IP 的请求头。 // 更多详情请参阅文档。 router := gin.Default() router.SetTrustedProxies([]string{"192.168.1.2"}) 基本路由规则 func main() { // 禁用控制台颜色 // gin.DisableConsoleColor() // 使用默认中间件(logger 和 recovery 中间件)创建 gin 路由 router := gin.Default() router.GET("/someGet", getting) router.POST("/somePost", posting) router.PUT("/somePut", putting) router.DELETE("/someDelete", deleting) router.PATCH("/somePatch", patching) router.HEAD("/someHead", head) router.OPTIONS("/someOptions", options) // 默认在 8080 端口启动服务,除非定义了一个 PORT 的环境变量。 router.Run() // router.Run(":3000") hardcode 端口号 } 重定向 HTTP 重定向(外部 / 内部 URL) ...