Go 语言 REST API 分页实现 - 使用 Gin 框架
在Go语言中,可以使用gin框架来实现REST API的分页功能。下面是一个简单的示例代码:\n\ngo\npackage main\n\nimport (\n "github.com/gin-gonic/gin"\n "strconv"\n)\n\ntype User struct {\n ID int `json:"id"`\n Name string `json:"name"`\n}\n\nvar users = []User{\n {1, "Alice"},\n {2, "Bob"},\n {3, "Charlie"},\n {4, "David"},\n {5, "Emma"},\n}\n\nfunc main() {\n r := gin.Default()\n\n r.GET("/users", getUsers)\n\n r.Run(":8080")\n}\n\nfunc getUsers(c *gin.Context) {\n page := c.DefaultQuery("page", "1")\n pageSize := c.DefaultQuery("pageSize", "10")\n\n // 将字符串转换为整数\n pageNum, _ := strconv.Atoi(page)\n pageSizeNum, _ := strconv.Atoi(pageSize)\n\n // 计算起始索引和结束索引\n startIndex := (pageNum - 1) * pageSizeNum\n endIndex := pageNum * pageSizeNum\n\n // 确保索引不超过用户数组的长度\n if startIndex >= len(users) {\n c.JSON(200, gin.H{\n "message": "No more users",\n })\n return\n }\n\n if endIndex > len(users) {\n endIndex = len(users)\n }\n\n // 获取对应分页的用户数据\n pagedUsers := users[startIndex:endIndex]\n\n c.JSON(200, pagedUsers)\n}\n\n\n在上述示例中,我们定义了一个名为User的结构体,用于表示用户信息。然后,我们定义了一个全局变量users,用于存储用户数据。\n\n在getUsers函数中,我们首先从请求参数中获取page和pageSize参数,并将其转换为整数类型。然后,我们根据分页参数计算起始索引和结束索引。\n\n接下来,我们根据计算出的索引值从users数组中获取对应分页的用户数据,并将其作为响应返回。\n\n如果起始索引超过用户数组的长度,我们返回一个包含错误信息的JSON响应。\n\n最后,我们使用gin框架的Run方法来启动Web服务器,并监听8080端口。\n\n通过访问http://localhost:8080/users?page=1&pageSize=2,我们可以获取第一页每页两个用户的数据。
原文地址: https://www.cveoy.top/t/topic/qEBg 著作权归作者所有。请勿转载和采集!