1.获取GET请求参数
func GetUserInfo(c *gin.Context){
// 获取get请求参数
u := c.Query("username") //此处获取的key值是再发请求的参数值
address := c.Query("address")
fmt.Println("拿到了用户名:",u)
returnData = make(map[string]interface{})
returnData["status"] = 200
returnData["msg"] = "查询成功"
userinfo = make(map[string]string)
// 获取的数据即可返回到前端
//来源公众号:【码农编程进阶笔记】
userinfo["name"] = u
userinfo["age"] = "18"
userinfo["address"] = address
returnData["data"] = userinfo
c.JSON(http.StatusOK, returnData)
}
2.获取POST请求参数---form-data类型
func addUser(c *gin.Context){
//POST获取请求参数
//form-data 获取请求参数
u := c.PostForm("username")
//如果没有获取到 address 则默认值为杭州
address := c.DefaultPostForm("address", "杭州")
c.String(http.StatusOK, "这是一个POST请求")
}
3.获取POST请求参数---JSON类型
//1.转成map
func addUserJson(c *gin.Context){
jsonData,_ := c.GetRawData()
//拿到json串之后,两种处理方法
//1.转成map
var m map[string]interface{}
json.Unmarshal(jsonData, &m)
//c.JSON(http.StatusOK, jsonData)
fmt.Println("接收到的用户名是:",m["username"])
c.JSON(http.StatusOK, m)
}
//2.赋值给结构体 来源公众号:【码农编程进阶笔记】
type UserInfo struct{
Username string `json:"username"`
Age int `json:"age"`
Address string `json:"address"`
}
func addUserstruct(c *gin.Context){
userinfo := UserInfo{}
if err := c.ShouldBindJSON(&userinfo); err != nil{
//绑定失败
fmt.Println("数据绑定失败:",err,Error())
c.JSON(http.StatusOK,gin.H{
"message": "参数格式不正确",
"status": 500,
})
}else{
c.JSON(http.StatusOK, userinfo)
}
}
大家在用哪一种语言养家糊口?欢迎留言谈谈你的看法