目录
路由组
通过r.Group配置路由组,将同一类路由进行分组。
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
userGroup := r.Group("/user")
{
userGroup.GET("/userInfo", getUserInfo)
userGroup.POST("/userAdd", postUserAdd)
}
r.Run(":8080")
}
//函数定义gin getUserInfo
func getUserInfo(c *gin.Context) {
username := c.Query("username")
age := c.Query("age")
c.JSON(http.StatusOK, gin.H{
"username": username,
"age": age,
})
}
//函数定义gin postUserAdd
func postUserAdd(c *gin.Context) {
c.String(http.StatusOK, "postUserAdd")
}
路由组文件拆分
mian.go --> 路由组初始化文件 --> 各个路由组文件
目录结构
project
|--main.go
|--routers(目录)
|--routerGroupInit.go
|--userRouterGroup.go
路由组初始化文件--routerGroupInit.go
package routers
import "github.com/gin-gonic/gin"
func RouterGroupInit(r *gin.Engine) {
UserRouterGroupInit(r)
//...新增其他路由组
}
路由组文件--userRouterGroup.go
package routers
import (
"net/http"
"github.com/gin-gonic/gin"
)
func UserRouterGroupInit(r *gin.Engine) {
userGroup := r.Group("/user")
{
userGroup.GET("/userInfo", getUserInfo)
userGroup.POST("/userAdd", postUserAdd)
}
}
//函数定义gin getUserInfo
func getUserInfo(c *gin.Context) {
username := c.Query("username")
age := c.Query("age")
c.JSON(http.StatusOK, gin.H{
"username": username,
"age": age,
})
}
//函数定义gin postUserAdd
func postUserAdd(c *gin.Context) {
c.String(http.StatusOK, "postUserAdd")
}
main.go
package main
import (
"hello/routers"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
routers.RouterGroupInit(r)
r.Run(":8080")
}