Skip to content

附录A:Gin 常用 API 速查表 ​

路由注册 ​

方法用途
r.GET(path, ...handler)GET 请求
r.POST(path, ...handler)POST 请求
r.PUT(path, ...handler)PUT 请求
r.PATCH(path, ...handler)PATCH 请求
r.DELETE(path, ...handler)DELETE 请求
r.Any(path, ...handler)所有方法
r.NoRoute(handler)404 处理
r.NoMethod(handler)405 处理
r.Group(prefix)路由分组
group.Use(middleware)分组中间件

Context 参数方法 ​

方法用途
c.Param("id")获取路径参数 :id
c.Query("key")获取查询参数 ?key=value
c.DefaultQuery("key", "def")带默认值查询参数
c.QueryArray("ids")获取数组参数
c.PostForm("key")获取表单参数
c.DefaultPostForm("key", "def")带默认值表单参数
c.GetRawData()获取原始 Body
c.GetHeader("key")获取请求头
c.ClientIP()获取客户端 IP
c.ContentType()获取 Content-Type

参数绑定 ​

方法绑定来源标签
c.ShouldBindJSON(&obj)JSON Bodyjson
c.ShouldBindQuery(&obj)查询参数form
c.ShouldBindUri(&obj)路径参数uri
c.ShouldBind(&obj)自动选择json+form

绑定/验证标签 ​

标签用途
required必填
min=n / max=n最小/最大
len=n精确长度
gt/gte/lt/lte数字比较
eq=n / ne=n等于/不等于
oneof=a b c枚举值
email / url格式验证
eqfield=F / nefield=F跨字段

响应方法 ​

方法用途
c.JSON(code, obj)返回 JSON
c.IndentedJSON(code, obj)美化 JSON
c.XML(code, obj)返回 XML
c.YAML(code, obj)返回 YAML
c.String(code, format, args)返回字符串
c.HTML(code, tpl, data)渲染 HTML
c.Data(code, contentType, bytes)返回原始数据
c.File(filepath)返回文件
c.FileAttachment(filepath, name)文件下载
c.Redirect(code, url)重定向

Context 控制方法 ​

方法用途
c.Next()传给下一个处理器
c.Abort()中止后续处理器
c.AbortWithStatus(code)中止+状态码
c.AbortWithStatusJSON(code, obj)中止+JSON
c.Set(key, value)存值(跨中间件)
c.Get(key)取值
c.Error(err)添加错误

文件操作 ​

方法用途
c.FormFile("field")获取上传文件
c.SaveUploadedFile(file, dst)保存文件
c.MultipartForm()多文件上传
r.Static("/url", "./dir")静态文件服务
r.MaxMultipartMemory最大内存
方法用途
c.SetCookie(name, value, maxAge, path, domain, secure, httpOnly)设置 Cookie
c.Cookie(name)读取 Cookie

启动与配置 ​

方法/配置用途
r.Run(":8080")启动服务
r.Use(middleware)全局中间件
gin.SetMode(gin.ReleaseMode)生产模式
gin.SetMode(gin.TestMode)测试模式
r.SetTrustedProxies(ips)信任代理
r.LoadHTMLGlob("templates/*")加载模板

把零散知识,整理成可以反复走的路。