(转自:转自:https://blog.csdn.net/qq_32340877/article/details/79150433 )
(转自:https://www.cnblogs.com/xuange306/p/9173796.html)
1. 需要获取用户传递的数据,包括 Get、POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据:
func (this *MainController) Post() {
jsoninfo := this.GetString("jsoninfo")
if jsoninfo == "" {
this.Ctx.WriteString("jsoninfo is empty")
return
}
}
2. 更多其他的 request 的信息,用户可以通过 this.Ctx.Request
获取信息
3. 直接解析到 struct
如果要把表单里的内容赋值到一个 struct 里,除了用上面的方法一个一个获取再赋值外,beego 提供了通过另外一个更便捷的方式,就是通过 struct 的字段名或 tag 与表单字段对应直接解析到 struct。定义struct:
ype user struct {
Id int `form:"-"`
Name interface{} `form:"username"` //对应表单中的name值,字段名首字母也必须大写,否则无法解析该参数的值
Age int `form:"age"` //对应表单中的name值,如果不写将无法解析该参数的值
Email string
}
func (this *MainController) Post() {
u := user{}
if err := this.ParseForm(&u); err != nil {
//handle error
}
}
注意:
xx must be a struct pointer
的错误。form
标签的值设置为 -