gin中multipart/urlencoded绑定
package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) type LoginForm struct { // form:"user" 表示前端提交form表单时User对应的key的名称为:user // binding: "required" required表示前端必须传入该键才可以 User string `form:"user" binding:"required"` Password string `form:"password" binding:"required"` } func main() { router := gin.Default() router.POST("/login", func(c *gin.Context) { var form LoginForm // 你可以使用显示绑定声明绑定 multipart form //if err := c.ShouldBindWith(&form, binding.Form); err == nil { // 先校验用户传参是否符合LoginForm的校验约束 // 或者简单的使用ShouldBind方法自动绑定,在这种情况下将自动选择合适的绑定 if err := c.ShouldBind(&form); err == nil { // 在校验传入的用户名密码是否正确 if form.User == "user" && form.Password == "password" { c.JSON(http.StatusOK, gin.H{"status": "you are logged int"}) } else { c.JSON(http.StatusUnauthorized, gin.H{"status": "Unauthorized"}) } } else { fmt.Println(err) c.JSON(http.StatusBadRequest, gin.H{"key": "key error"}) } }) router.Run() }