beego– [4]数据提交&数据获取

数据提交与获取

数据提交方式:

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]数据提交&数据获取

参考文章:

梯子教程 — beego session处理

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容