gin中绑定表单数据至自定义结构体
2024-08-31 10:58:22
package main import "github.com/gin-gonic/gin" type StructA struct {
FieldA string `form:"field_a"`
}
type StructB struct {
// 嵌套结构体
NestedStruct StructA
FieldB string `form:"field_b"`
}
type StructC struct {
// 嵌套结构体指针
NestedStructPointer *StructA
FieldC string `form:"field_c"`
}
type StructD struct {
// 嵌套匿名结构体
NestedAnonymousStruct struct{
FieldX string `form:"field_x"`
}
FieldD string `form:"field_d"`
} func GetB(c *gin.Context) {
// 绑定表单数据至自定义结构体
var b StructB
c.Bind(&b)
c.JSON(200, gin.H{"field_a": b.NestedStruct, "field_b": b.FieldB})
}
func GetC(c *gin.Context) {
var cc StructC
c.Bind(&cc)
c.JSON(200, map[string]interface{}{"field_a": cc.NestedStructPointer, "field_c": cc.FieldC})
}
func GetD(c *gin.Context) {
var d StructD
c.Bind(&d)
c.JSON(200, gin.H{"field_x": d.NestedAnonymousStruct, "field_d": d.FieldD})
} func main() {
r := gin.Default()
r.GET("/getb", GetB)
r.GET("/getc", GetC)
r.GET("/getd", GetD)
r.Run()
}
请求方法:
http://127.0.0.1:3000/getd?field_a=aaa&field_b=bbbb
http://127.0.0.1:3000/getd?field_a=aaa&field_c=ccccc
http://127.0.0.1:3000/getd?field_d=ddddd&field_x=xxxxxxxx
最新文章
- variadic function 的使用
- [.net 面向对象编程基础] (22) 事件
- C#调用WebService实现天气预报
- phpcms从表v9_news_data中字段content中用正则取出图片的地址输出
- (转载)linux中设备文件配置程序udev详解
- suse11 sp2 搭建openvpn
- 子元素的div不继承父元素的透明度
- HTML5开发手机项目—个人总结
- iOS开源项目推荐|下拉刷新
- Android笔记: 日期格式化
- Tomcat 到底依赖JRE还是JDK
- L2-005 集合相似度 (25 分) (STL——set)
- DCOS实践分享(2):基于Docker Compose和Swarm的Docker化之路
- 深度学习框架PyTorch一书的学习-第六章-实战指南
- java基础-反射(细节)
- UML类图应该怎么看?
- ubuntu如何设置开机启动默认命令行界面
- 【webdriver自动化】使用unittest实现自动登录163邮箱然后新建一个联系人
- LG4197 Peaks
- C++中的空类,编译器默认可以产生哪些成员函数