1. 表单数据解析和绑定

    1. import (
    2. "net/http"
    3. "github.com/gin-gonic/gin"
    4. )
    5. // 定义接收数据的结构体
    6. type Login struct {
    7. // binding:"required"修饰的字段,若接收为空值,则报错,是必须字段
    8. User string `form:"username" json:"user" uri:"user" xml:"user" binding:"required"`
    9. }
    10. func main() {
    11. // 1.创建路由
    12. // 默认使用了2个中间件Logger(), Recovery()
    13. r := gin.Default()
    14. // JSON绑定
    15. r.POST("/loginForm", func(c *gin.Context) {
    16. // 声明接收的变量
    17. var form Login
    18. // Bind()默认解析并绑定form格式
    19. c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
    20. return
    21. }
    22. // 判断用户名密码是否正确
    23. if form.User != "root" || form.Pssword != "admin" {
    24. c.JSON(http.StatusBadRequest, gin.H{"status": "304"})
    25. return
    26. }
    27. c.JSON(http.StatusOK, gin.H{"status": "200"})
    28. })
    29. }