gin框架之GET、POST获取参数

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) 
    }
}

大家在用哪一种语言养家糊口?欢迎留言谈谈你的看法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值