数据提交与获取
数据提交方式:
1.GET ?queryparam
2.POST ?queryparams
request body
content-type: application/json js 客户端
multipart/form-data
application/x-www-form-urlencoded
数据获取方式:
1.GET ?queryparam
>>>
方式1:Controller.Ctx.Request.ParseForm()
Controller.Ctx.Request.Form
方式2:Controller.Ctx.Input.Query(“key”) —最常用
方式3:Controller.Ctx.Input.Bind(&key, “key”)
方式4:Controller.GetString(“key”) —最常用
方式5:Controller.ParseForm(&form) form为struct类型 —最常用
2.POST ?queryparams
request body
application/x-www-form-urlencoded
content-type: application/json js 客户端
multipart/form-data
(1)application/x-www-form-urlencoded
form对象中包括url中的数据 + 以post方式且content-type为application/x-www-form-urlencoded 的数据
(1)同样可以以1中的5种方式获取
方式1:Controller.Ctx.Request.ParseForm()
Controller.Ctx.Request.Form
(Beego PostForm中只包含body中的数据 + url中的数据)
方式2:Controller.Ctx.Request.ParseForm()
Controller.Ctx.Request.PostForm()
(Beego PostForm中只包含body中的数据)
方式3:Controller.GetString(“key”)
方式4:Controller.ParseForm(&form) form为struct类型 (url和body中只能有一方有与struct匹配的数据,否则将无法获取任意一方的数据)
ps:beego不区分是从post中请求的数据,还是从get中请求的数据;如果你想只处理从post中请求的参数,就必须用Request.PostForm,beego没有提供必须直接从body中提交数据的过程。
(2)multipart/form-data — 文件上传
方式1:Controller.Ctx.Request.ParseMultipartForm(maxMemory)
Controller.Ctx.Request.FormFile(“key”)
方式2: Controller.GetFile(“key”)
方式3:Controller.SaveFileTo(“key”, path)
(3) content-type: application/json — 一般来自js或客户端
1)配置文件中设置CopyRequestBody=true
2)Controller.Ctx.Input.RequestBody –> 解析json为go中的对象
cookie的设置与获取
1.原始的Cookie
(1)获取方式
方式1:Controller.Ctx.Request.Cookie(“key”)
方式2:Controller.Ctx.Input.Cookie(“key”)
方式3:Controller.Ctx.GetCookie(“key”) —最常用
(2)设置方式
方式1:http.SetCookie()
方式2:Controller.Ctx.SetCookie(“key”,”value”) —最常用
2.有签名的Cookie — 可防止用户篡改cookie
设置与获取
方式1:(获取) Controller.Ctx.GetSecureCookie(cookieKey,”key”) —最常用
(设置) Controller.Ctx.SetSecureCookie(cookieKey,”key”,”value”) —最常用
方式2:(获取) Controller.GetSecureCookie()
(设置) Controller.SetSecureCookie()
获取请求相关的信息
Controller.Ctx.Request.Method()
Controller.Ctx.Request.URL
Controller.Ctx.Request.Header
Controller.Ctx.Input.URI()
Controller.Ctx.Input.Method()
Controller.Ctx.Input.IP()
session的设置与获取
![beego-- [4]数据提交&数据获取](https://pic.songma.com/blogimg/20251028/f18086d3fcbc48c0821bc77a72581740.jpg)
参考文章:
梯子教程 — beego session处理



















暂无评论内容