1.ShouldBindQuery.go
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"log"
)
func main(){
engine:=gin.Default()
//GET请求
//http://localhost:8080/hello?name=davie&classes=软件工程
engine.GET("/hello", func(context *gin.Context) {
fmt.Println(context.FullPath())
//数据与表单实体来进行绑定的一个操作
var student Student
err:=context.ShouldBindQuery(&student)
if err!=nil{
log.Fatal(err.Error())
}
fmt.Println(student.Name)
fmt.Println(student.Classes)
context.Writer.Write([]byte("hello,"+student.Name))
})
engine.Run()
}
type Student struct {
Name string `form:"name"`
Classes string `form:"classes"`
}
2.ShouldBind.go
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"log"
)
//POST
/*
在Postman软件中,设置访问方式为POST,网址为http://localhost:8080/register;在Body中选择x-www-form-urlencoded
并填入:
key:username value:davie
key:password value:123
key:phone value:13260009966
*/
func main(){
engine:=gin.Default()
engine.POST("/register", func(context *gin.Context) {
var register Register
if err:=context.ShouldBind(®ister);err!=nil{
log.Fatal(err.Error())
return
}
fmt.Println(register.UserName)
fmt.Println(register.Phone)
context.Writer.Write([]byte(register.UserName+" register"))
})
engine.Run()
}
type Register struct {
UserName string `form:"username"`
Phone string `form:"phone"`
Password string `form:"password"`
}
3.ShouldBindJSON.go
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"log"
)
func main(){
engine:=gin.Default()
engine.POST("/addStudent", func(context *gin.Context) {
fmt.Println(context.FullPath())
var person Person
if err:=context.ShouldBindJSON(&person);err!=nil{
log.Fatal(err.Error())
return
}
fmt.Println("姓名:",person.Name)
fmt.Println("年龄",person.Age)
fmt.Println("性别",person.Sex)
context.Writer.Write([]byte("添加记录"+person.Name))
})
engine.Run()
}
type Person struct {
Name string `form:"name"`
Sex string `form:"sex"`
Age int `form:"age"`
}
具体相关设置: