我们经常需要获取用户传递的数据,包括 Get、POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据:

image.png

image.png

image.png

image.png

image.png

直接解析到 struct

image.png

package controllers

import (
   "github.com/astaxie/beego"
   "log"
)

type TestInputController struct {
   beego.Controller
}

func (c *TestInputController) Get() {
   id := c.GetString("id")
   c.Ctx.WriteString("id: "+ id)
   u := user{}
   if err := c.ParseForm(&u); err != nil {

   }
   c.Ctx.WriteString("Username:" + u.Username + " Password:" + u.Password)
}

type user struct {
   Username string
   Password string
}

func (c *TestInputController) Post() {
   u := user{}
   //获取form表单传过来的值
   if err := c.ParseForm(&u); err != nil {
      log.Fatal(err)
   }
   c.Ctx.WriteString("Username:" + u.Username + " Password:" + u.Password)
}

获取 Request Body 里的内容

1. 在配置文件里设置 copyrequestbody = true

2. 在 Controller 中

image.png