beego 获取字符串中的数据

获取数据并转为对应的类型

- ?id=111&id=122

c.GetInt('id')

int,111

- ?id=111&id=122

c.GetBool('id')

bool,false

- ?id=111&id=122

c.GetString('id')

string,'111'

- ?id=111&id=122

c.GetStrings('id')

[]string,[]string{'111', '122'}

- ?id=111&id=122

c.Input().Get('id')

string,'111'

解析表单

c.ParseForm 直接解析到 struct

type user struct {

Id int `form:'-'`

Name interface{} `form:'name'`

Age int `form:'age'`

Email string

}

func (c *MainController) Post() {

u := user{}

c.ParseForm(&u)

fmt.Printf('%T,%#v\n', u, u)

c.Ctx.WriteString('hello')

}

解析Request Body

获取 Request Body 里的内容

type user struct {

Id int `json:'-'`

Name interface{} `json:'name'`

Age int `json:'age'`

Email string

}

func (c *MainController) Post() {

var u user

json.Unmarshal(c.Ctx.Input.RequestBody, &u)

fmt.Printf('%T,%#v\n', u, u)

c.Ctx.WriteString('hello')

}

上传文件

func (c *MainController) Post() {

f, h, err := c.GetFile('uploadname')

if err != nil {

log.Fatal('getfile err ', err)

}

fmt.Printf('%T,%#v\n', f, f)

defer f.Close()

c.SaveToFile('uploadname', 'static/upload/' + h.Filename) // 保存位置在 static/upload, 没有文件夹要先创建

c.Ctx.WriteString('post')

}

后端返回数据到前端

返回字符串

c.Ctx.WriteString('

hello world

')

返回模板html

c.Data['name'] = 'mm'

c.Data['age'] = 22

c.TplName = 'user.html'

user

{{.name}}

{{.age}}

返回json

type user struct {

Name string `json:'name'`

Age int `json:'age'`

Birth time.Time `json:'birth'`

}

func (u *UserController) Get() {

var p1 = &user{

Name: 'mm',

Age: 22,

Birth: time.Now(),

}

u.Data['json'] = p1

u.ServeJSON()

}

(0)

相关推荐