type returnData struct {
Status int
Info string
Data []interface{}
}
func (c *PostController) Post() {
/*
POST请求操作数据库
*/
status := 1
info := ""
var data []interface{}
/*
请求数据处理
GetString(key string) string
GetStrings(key string) []string
GetInt(key string) (int64, error)
GetBool(key string) (bool, error)
GetFloat(key string) (float64, error)
*/
// 上传文件
f, h, err := c.GetFile("uploadname")
if err != nil {
log.Fatal("getfile err ", err)
}
defer f.Close()
err = c.SaveToFile("uploadname", "static/upload/"+h.Filename) // 保存位置在 static/upload, 没有文件夹要先创建
fmt.Println(err)
age := c.GetString("age")
name := c.GetString("name")
intAge, err := strconv.Atoi(age) // equivalent to ParseInt(s, 10, 0)
fmt.Println(intAge)
fmt.Println(err)
fmt.Println(age)
fmt.Println(name)
// 请求数据直接绑定指定对象
//var id int
//this.Ctx.Input.Bind(&id, "id") //id ==123
//var isok bool
//this.Ctx.Input.Bind(&isok, "isok") //isok ==true
//var ft float64
//this.Ctx.Input.Bind(&ft, "ft") //ft ==1.2
//ol := make([]int, 0, 2)
//this.Ctx.Input.Bind(&ol, "ol") //ol ==[1 2]
//ul := make([]string, 0, 2)
//this.Ctx.Input.Bind(&ul, "ul") //ul ==[str array]
//user struct{Name}
//this.Ctx.Input.Bind(&user, "user") //user =={Name:"astaxie"}
jsonData := &returnData{
Status: status,
Info: info,
Data: data,
}
c.Data["json"] = jsonData
c.ServeJSON()
}