绑定查询字符串或表单数据

查看详细信息

  1. package main
  2. import (
  3. "log"
  4. "time"
  5. "github.com/gin-gonic/gin"
  6. )
  7. type Person struct {
  8. Name string `form:"name"`
  9. Address string `form:"address"`
  10. Birthday time.Time `form:"birthday" time_format:"2006-01-02" time_utc:"1"`
  11. }
  12. func main() {
  13. route := gin.Default()
  14. route.GET("/testing", startPage)
  15. route.Run(":8085")
  16. }
  17. func startPage(c *gin.Context) {
  18. var person Person
  19. // 如果是 `GET` 请求,只使用 `Form` 绑定引擎(`query`)。
  20. // 如果是 `POST` 请求,首先检查 `content-type` 是否为 `JSON` 或 `XML`,然后再使用 `Form`(`form-data`)。
  21. // 查看更多:https://github.com/gin-gonic/gin/blob/master/binding/binding.go#L48
  22. if c.ShouldBind(&person) == nil {
  23. log.Println(person.Name)
  24. log.Println(person.Address)
  25. log.Println(person.Birthday)
  26. }
  27. c.String(200, "Success")
  28. }

测试:

  1. $ curl -X GET "localhost:8085/testing?name=appleboy&address=xyz&birthday=1992-03-15"