PHP小编新一为大家带来关于golang GIN框架在绑定表单数据时出错的解决方案。在使用GIN框架进行表单数据绑定时,有时会遇到一些问题,如无法正确解析表单数据。这些问题可能是由于参
PHP小编新一为大家带来关于golang GIN框架在绑定表单数据时出错的解决方案。在使用GIN框架进行表单数据绑定时,有时会遇到一些问题,如无法正确解析表单数据。这些问题可能是由于参数绑定、数据类型不匹配等原因导致的。本文将介绍如何正确绑定表单数据并解决常见的错误,帮助开发者顺利使用GIN框架进行开发工作。
当我尝试将表单数据请求绑定到结构时,它错误为“致命错误:堆栈溢出”。
这是我的代码。没什么好解释的。我是代码的开始,但无法解决代码。
结构体
type Wish struct {
ID int `gORM:"primarykey;autoIncrement" JSON:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt Gorm.DeletedAt `gorm:"index" json:"deleted_at"`
UserID int `json:"user_id" form:"user_id"`
User *User `gorm:"foreignKey:UserID" json:"user_data,omitempty"`
WishTypeID int `json:"wish_type_id" form:"wish_type_id"`
WishType *WishType `gorm:"foreignKey:WishTypeID" json:"wish_type_data,omitempty"`
ProcessTrack []*ProcessTrack `gorm:"foreignKey:WishID" json:"process_track,omitempty"`
VacationDateRange *VacationDateRange `gorm:"foreignKey:WishID" json:"vacation_date_range,omitempty"`
Content string `gorm:"type:varchar(255)" json:"content" form:"content"`
Status WishStatus `gorm:"type:integer" json:"status" form:"status"`
Files []*File `gorm:"polymorphic:Module;polymorphicValue:wish_files" json:"files,omitempty"`
}
控制器
var wish migrations.Wish
if err := c.Bind(&wish); err != nil {
c.JSON(400, gin.H{"error": err.Error(), "message": "Talep Okunamadı!"})
return
}
c.JSON(200, wish)
return
请求
我修改了控制器
type Req struct {
Content string `form:"content"`
WishTypeID int `form:"wish_type_id"`
VacationDateRange *migrations.VacationDateRange `form:"vacation_date_range"`
}
err, i, g := authorizer.AuthorizeIt(c, a.Subject, a.Action)
if err != nil {
c.JSON(i, g)
return
}
var wishReq Req
var wish migrations.Wish
if err := c.Bind(&wishReq); err != nil {
c.JSON(400, gin.H{"error": err.Error(), "message": "Wish can't bind."})
return
}
wish.WishTypeID = wishReq.WishTypeID
wish.Content = wishReq.Content
wish.VacationDateRange = wishReq.VacationDateRange
但我仍然不明白为什么不能作为第一种风格。我也添加了常用用法。它通常也有效。
err, i, g := authorizer.AuthorizeIt(c, a.Subject, a.Action)
if err != nil {
c.JSON(i, g)
return
}
var announce mig.Announce
err = c.Bind(&announce)
if err != nil {
c.JSON(400, gin.H{"error": err.Error(), "message": "Announce can't bind. Error Code: AN-CRT-20"})
return
}
以上就是绑定表单数据时Golang GIN出错的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 绑定表单数据时Golang GIN出错
本文链接: https://www.lsjlt.com/news/563071.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0