栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go gin 获取 Post 和 Get 数据

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go gin 获取 Post 和 Get 数据

go gin 获取 Post 和 Get 数据

参考:https://www.kancloud.cn/shuangdeyu/gin_book/949426

可以通过两种方式,最方便的是用 bind 方法,提前定义好 struct,然后匹配到对应的 post/get 数据。

比如我有一个 user 数据需要获取,后面的form:"Id" 等对应的是前端发送给服务器里的数据属性名

type UserForm struct {
	Id              int    `form:"Id"`
	IsPublic        int    `form:"IsPublic"`
	Name            string `form:"Name"`
	Phone           string `form:"Phone"`
	Message         string `form:"Message"`
	Plate           string `form:"Plate"`
	Password        string `form:"Password"`
	WxQr            string `form:"WxQr"`
	Desc            string `form:"Desc"`
	Homepage        string `form:"Homepage"`
	GaodeInvitation string `form:"GaodeInvitation"`
	DateEdit        string `form:"DateEdit"`
	DateRegister    string `form:"DateRegister"`
	Hash            string `form:"Hash"`
	VisitCount      int    `form:"VisitCount"`
}

前端发送的数据应该是这样的:

{
    Id: 1,
    Name: "Tina",
    IsPublic: 1,
    Phone: "1238357231",
    ...
}
一、使用绑定的方式获取
router.POST("/user/edit", func(ctx *gin.Context) {
	var user UserForm
	if err := ctx.ShouldBind(&user); err != nil {
		// 处理错误请求
		return
	}
	// 这里已经将 Post 数据绑定到 user 中了
}

二、 使用直接获取内容的方式

还有一种方式是直接从 Post 数据中单独取得某个属性的值
数据还是以上面的方式传送到服务器

router.POST("/user/edit", func(ctx *gin.Context) {
    name := ctx.PostForm("Name")
}

这样你就能直接获取其中的某个值。

另外还有 PostFormMap PostFormArray 可用,对应数组和对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号