multipart2.go:
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.POST("/form_post", func(c *gin.Context) {
message := c.PostForm("message")
nick := c.DefaultPostForm("nick", "anonymous")
c.JSON(200, gin.H{
"status": "posted",
"message": message,
"nick": nick,
})
})
router.Run(":8080")
}
使用 c.PostForm 方法可以直接获取表单字段,而不必事先声明结构体。如果不存在这个字段,则返回空字符串。
使用 c.DefaultPostForm 方法获取表单字段时,如果字段不存在,将返回给定的默认值。这里要注意,只有表单不包括这个字段时才会返回默认值;如果字段为空字符串,返回的就是空字符串而不是默认值。
测试:
$ curl --form message=hello --form nick=hi http://localhost:8080/form_post
{"message":"hello","nick":"hi","status":"posted"}
$ curl --form message=hello --form nick= http://localhost:8080/form_post
{"message":"hello","nick":"","status":"posted"}
$ curl --form message=hello http://localhost:8080/form_post
{"message":"hello","nick":"anonymous","status":"posted"}
快来评论一下吧!
发表评论