Golang | Gin 简单使用
Posted Parker@1989
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang | Gin 简单使用相关的知识,希望对你有一定的参考价值。
创建Gin引擎的方法有两种:
gin.Default()
gin.New()
gin.Default()和gin.New()的区别是,gin.Default是对gin.new()的封装,添加了logger和recovery的中间件,logger可以很方便的进行调试,recovery可以使用panic中断的恢复。
实现一个简单的请求
我们实现一个最简单的程序,请求并打印一个Hello Gin !
func main()
engine := gin.Default() //创建引擎
engine.GET("/hello", func(context *gin.Context) // 定义请求接口和处理匿名函数
fmt.Println("请求路径:", context.FullPath())
context.Writer.Write([]byte("Hello Gin!"))
)
if err := engine.Run(":8090"); err != nil //启动引擎,监听8090端口
log.Print(err)
我们再使用通用方法,再完善一个该请求。
func main()
engine := gin.Default()
engine.Handle("GET", "/hello", func(context *gin.Context)
path := context.FullPath()
fmt.Print(path)
name := context.DefaultQuery("name", "hello") // 如果没有name这个key,那么给name变量赋值为“hello”
context.Writer.Write([]byte("hello " + name))
)
if err := engine.Run(); err != nil
fmt.Println(err)
使用POST请求,处理body数据
// http://localhost/login POST请求
engine.Handle("POST", "login", func(context *gin.Context)
path := context.FullPath()
fmt.Println(path)
name := context.PostForm("name")
pass := context.PostForm("pass")
fmt.Println("name:", name, "pass:", pass)
context.Writer.Write([]byte("name:" + name + "\\npass:" + pass))
)
// 使用GetPostForm获取数据
engine.POST("/user", func(context *gin.Context)
name, exist := context.GetPostForm("name")
if exist
fmt.Println(name)
pass, exist := context.GetPostForm("pass")
if exist
fmt.Println(pass)
context.Writer.Write([]byte("name:" + name + "\\npass:" + pass))
)
Delete方法
engine.DELETE("/user/:id", func(context *gin.Context)
UserID := context.Param("id")
context.Writer.Write([]byte("delete:" + UserID))
)
以上是关于Golang | Gin 简单使用的主要内容,如果未能解决你的问题,请参考以下文章