美文网首页
Gin-获取请求参数——表单实体绑定

Gin-获取请求参数——表单实体绑定

作者: 诗意_面包 | 来源:发表于2020-07-06 13:43 被阅读0次

GET的表单实体绑定获取

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
)

type Student struct {
        // binding:"required"表示参数必须存在,如果无法获取则会报错
    Name string `form:"name" binding:"required"`
    Age int `form:"age" binding:"required"`
}

func main()  {
    app := gin.Default()
    app.Handle("GET", "/", func(context *gin.Context) {
        var student Student
                // 将get请求参数映射到结构体
        err := context.ShouldBindQuery(&student)
        if err != nil {
            panic(err)
        }
        context.Writer.Write([]byte(fmt.Sprintf("%s | %d", student.Name, student.Age)))
    })
    app.Run()
}

POST的表单实体绑定获取

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
)

type Student struct {
    Name string `form:"name" binding:"required"`
    Age int `form:"age" binding:"required"`
}

func main()  {
    app := gin.Default()
    app.Handle("POST", "/", func(context *gin.Context) {
        var student Student
        err := context.ShouldBind(&student)
        if err != nil {
            panic(err)
        }
        context.Writer.Write([]byte(fmt.Sprintf("%s | %d", student.Name, student.Age)))
    })
    app.Run()
}

JSON类型参数的表单实体绑定获取

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
)

type Student struct {
    Name string `form:"name" binding:"required"`
    Age int `form:"age" binding:"required"`
}

func main()  {
    app := gin.Default()
    app.Handle("POST", "/", func(context *gin.Context) {
        var student Student
        err := context.BindJSON(&student)
        if err != nil {
            panic(err)
        }
        context.Writer.Write([]byte(fmt.Sprintf("%s | %d", student.Name, student.Age)))
    })
    app.Run()
}

相关文章

网友评论

      本文标题:Gin-获取请求参数——表单实体绑定

      本文链接:https://www.haomeiwen.com/subject/rapwqktx.html