Go语言 Gin处理请求参数
1.获取Get 请求参数
获取Get请求参数的常用3个函数:
- func (c *Context) Query(key string) string
- func (c *Context) DefaultQuery(key, defaultValue string) string
- func (c *Context) GetQuery(key string) (string, bool)
2.获取Post请求参数
获取Post请求参数的常用3个函数,与Get获取参数类似:
- func (c *Context) PostForm(key string) string
- func (c *Context) DefaultPostForm(key, defaultValue string) string
- func (c *Context) GetPostForm(key string) (string, bool)
3.获取URL路径参数
获取URL路径参数,指的是获取 /user/:id 这类型路由绑定的参数,这个例子绑定了一个参数id。
获取url路径参数常用函数:
- func (c *Context) Param(key string) string
4.将请求参数绑定到struct对象
前面获取参数的方式都是一个个参数的读取,实际应用中,Gin框架支持将请求参数自动绑定到一个struct对象,这种方式支持Get/Post请求,也支持http请求body内容为json/xml格式的参数。
示例
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
/*
gin 获取请求参数
*/
func main() {
// 1.初始化实例
r := gin.Default()
// 2.路由。localhost:8080/get?name=xiao
r.GET("/get", func(c *gin.Context) {
// 直接通过Query获取
name := c.Query("name")
c.JSON(http.StatusOK, gin.H{
"parms_name": name,
})
})
// 1)正常取值:localhost:8080/title?title=xiao
// 2) 无值,则取设置的默认值(default_title):localhost:8080/title
r.