func(this *IndexController) Index(ctx *gin.Context) string {
ctx.DefaultQuery("firstname", "Guest")
ctx.Query("lastname")
return "this is 首页"
}
ctx.Query("lastname") 相当于 ctx.Request.URL.Query().Get("lastname")
ctx.DefaultQuery("firstname", "Guest") 当firstname不存在时返回Guest,一般多用于分页 默认第一页
func(this *IndexController) Index(ctx *gin.Context) string {
message := ctx.PostForm("message")
nick := ctx.DefaultPostForm("nick", "anonymous")
return "this is 首页"
}
func(this *IndexController) Index(ctx *gin.Context) string {
file, _ := ctx.FormFile("file")
log.Println(file.Filename)
dest:="./"+file.Filename
ctx.SaveUploadedFile(file, dst)
return "this is 首页"
}
SaveUploadedFile 将文件移动到指定目标
func(this *IndexController) Index(ctx *gin.Context) string {
form, _ := ctx.MultipartForm()
files := form.File["upload[]"]
for _, file := range files {
log.Println(file.Filename)
dest:="./"+file.Filename
ctx.SaveUploadedFile(file, dst)
}
return "this is 首页"
}
type Person struct {
Name string `form:"name"`
Address string `form:"address"`
}
func(this *IndexController) Index(ctx *gin.Context) string {
if ctx.ShouldBind(&person) == nil {
log.Println("====== Only Bind By Query String ======")
log.Println(person.Name)
log.Println(person.Address)
}
return "this is 首页"
}
type Person struct {
ID string `uri:"id" binding:"required,uuid"`
Name string `uri:"name" binding:"required"`
}
func(this *IndexController) Index(ctx *gin.Context) string {
if err := ctx.ShouldBindUri(&person); err != nil {
return "参数错误"
}
return "this is 首页"
}
type testHeader struct {
Rate int `header:"Rate"`
Domain string `header:"Domain"`
}
func(this *IndexController) Index(ctx *gin.Context) string {
if err := ctx.ShouldBindHeader(&testHeader); err != nil {
return "heander头错误"
}
return "this is 首页"
}
func(this *IndexController) Index(ctx *gin.Context) string {
cookie, err := ctx.Cookie("gin_cookie")
return cookie
}
func(this *IndexController) Index(ctx *gin.Context) string {
ctx.SetCookie("gin_cookie", "test", 3600, "/", "localhost", false, true)
return "this is 首页"
}