import ( "github.com/gin-gonic/gin" "net/http" "github.com/sirupsen/logrus" ) // 1、最简单gin func GinSample(){ engine := gin.Default() engine.Any("/",func(context *gin.Context){ context.String(http.StatusOK,"hello world") }) engine.Run(":9025") } // 2、gin各种方法 func GinFunc(){ engine := gin.Default() // get engine.GET("/get",func(context *gin.Context){ context.JSON(http.StatusOK,gin.H{"message":"hello world","status":"done"}) }) // put engine.PUT("/put",func(context *gin.Context){ context.String(http.StatusOK,"put ok") }) // post engine.POST("/post",nil) //... engine.Run(":9025") } // 3、gin 解析入参 func GinGetParam(){ engine := gin.Default() engine.GET("/get/:name/*action",func(context *gin.Context){ name := context.Param("Guest") action := context.Param("action") context.String(http.StatusOK,"welcome " + name + action) }) engine.Run(":9025") } // 4、gin 路由组 func GinGroup(){ engine := gin.Default() v1 := engine.Group("/v1") { v1.GET("/get",nil) // handlers待实现 v1.POST("post",nil) } v2 := engine.Group("/v2") { v2.GET("/get",nil) v2.POST("/post",nil) } engine.Run(":9025") } // 5、中间件 func Middle() { router := gin.Default() // 注册一个路由,使用了 middleware1,middleware2 两个中间件 router.GET("/someGet", middleware1, middleware2, handler) // 默认绑定 :8080 router.Run() } func handler(c *gin.Context) { logrus.Println("exec handler") } func middleware1(c *gin.Context){ // do something c.Next() } func middleware2(c *gin.Context){ // do something c.Next() }