Gin绑定Http GET查询参数
Get请求处理绑定参数常见方式:
- query string: abc=123&xyz=456
- form表单方式
- json方式
Gin通过不同的bind方法来处理参数绑定,示例如下:
package main
import "log"
import "github.com/gin-gonic/gin"
type Person struct {
Name string `form:"name" json:"name"`
Address string `form:"address" json:"address"`
}
func main() {
route := gin.Default()
route.GET("/testing", startPage)
route.Run(":8085")
}
func startPage(c *gin.Context) {
var person Person
// only bind the query or post data
if c.Bind(&person) == nil {
log.Println("====== Bind By Query String ======")
log.Println(person.Name)
log.Println(person.Address)
}
// only bind the query
if c.BindQuery(&person) == nil {
log.Println("====== Only Bind Query String ======")
log.Println(person.Name)
log.Println(person.Address)
}
// only bind the json data
if c.BindJSON(&person) == nil {
log.Println("====== Bind By JSON ======")
log.Println(person.Name)
log.Println(person.Address)
}
c.String(200, "Success")
}
# bind by query
$ curl -X GET "localhost:8085/testing?name=appleboy&address=xyz"
本文由 络壳 原创或整理,转载请注明出处