r.GET("/user/list", func(ctx *gin.Context){
//这里的func是用来处理路由请求成功后的业务逻辑
ctx.String(http.StatusOK, "查询成功")
})
路由分组:将同一类路由放到一起
user := r.Group("/user")
{
user.POST("/list", func(ctx *gin.Context){
ctx.String(http.StatusOK, "查到user list")
})
user.PUT("/add", func(ctx *gin.Context){
ctx.String(http.StatusOK, "添加用户成功")
})
}
Gin里面管GET POST 等叫路由啊!
package main
import (
"go-ranking/router"
)
func main() {
r := router.Router()
r.Run(":9999")
}package router
import (
"github.com/gin-gonic/gin"
"net/http"
)
// Router 路由,这里方法名要大写,因为要导出出去,在别的包里使用
func Router() *gin.Engine {
r := gin.Default()
userGroup := r.Group("/user")
// 注意这里,他们不是一起的。
{
userGroup.GET("/list", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "list"})
})
userGroup.POST("/create", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "create"})
})
userGroup.DELETE("/delete", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "delete"})
})
userGroup.PATCH("/patch", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "patch "})
})
userGroup.PUT("/put", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "put "})
})
}
return r
}对核心代码做一些解释
• 函数声明:
• func Router() 表示定义一个名为 Router 的函数。
• 返回值 *gin.Engine 表示这个函数返回一个指向 gin.Engine 实例的指针,gin.Engine 是 Gin 框架的核心路由器。
• *gin.Engine:
• gin.Engine 是 Gin 的核心类型,代表整个 HTTP 路由器和中间件系统。
• 通过 gin.Engine 实例,可以定义应用的路由、请求处理逻辑、中间件等。