package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 基础 CRUD 路由 r.GET("/products", func(c *gin.Context) { c.JSON(200, gin.H{"message": "Get all products"}) }) r.POST("/products", func(c *gin.Context) { c.JSON(201, gin.H{"message": "Product created"}) }) r.PUT("/products/:id", func(c *gin.Context) { id := c.Param("id") c.JSON(200, gin.H{"message": "Product updated", "id": id}) }) r.DELETE("/products/:id", func(c *gin.Context) { id := c.Param("id") c.JSON(200, gin.H{"message": "Product deleted", "id": id}) }) // 路由分组(推荐) api := r.Group("/api/v1") { api.GET("/users", func(c *gin.Context) { c.JSON(200, gin.H{"message": "Get all users"}) }) api.POST("/users", func(c *gin.Context) { c.JSON(201, gin.H{"message": "User created"}) }) // 嵌套分组 users := api.Group("/users") { users.GET("/:id", func(c *gin.Context) { id := c.Param("id") c.JSON(200, gin.H{"message": "Get user", "id": id}) }) users.PUT("/:id", func(c *gin.Context) { id := c.Param("id") c.JSON(200, gin.H{"message": "User updated", "id": id}) }) } } r.Run(":9999") }