Questions about the Paginate function of GORM's Scopes code: func main () { if err:= initDB(); err !=nil{ fmt.Println("connect to mysql failed", err) panic(err) } // 映射到数据库 创建表结构 db.AutoMigrate(&User{}) r := gin.Default()

// 增删改查
g := r.Group("api/v1")
{
    g.POST("/add/user", createUserHandler)
    g.GET("/get/user", getUserHandler)
}
r.Run(":8800")

}

func getUserHandler(c *gin.Context, ) { fmt.Println(reflect.TypeOf(c.Request)) r := c.Request var user []User if err := db.Find(&user).Error; err != nil{ c.JSON(200, gin.H{ "code": 1, "msg": "查询数据库失败", }) } fmt.Println(user) db.Scopes(Paginate(r)).Find(&user) c.JSON(200, "getUserHandler") }

func Paginate(r http.Request) func(db gorm.DB) gorm.DB { return func (db gorm.DB) *gorm.DB { page, _ := strconv.Atoi(r.Query("page")) if page == 0 {page = 1} pageSize, _ := strconv.Atoi(r.Query("page_size")) switch { case pageSize > 100: pageSize = 100 case pageSize <= 0: pageSize = 10 } offset := (page - 1) * pageSize return db.Offset(offset).Limit(pageSize) } }


Error ./main.go:64:28: r.Query undefined (type *http.Request has no field or method Query)

I don't know how to use this Paginate, There are no examples on the official website