0.介绍
gin,是golang的一个快速http框架,十分轻巧好用。
1.快速上手
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/test", func(c *gin.Context) {
//c.String(200,"1111")
c.String(200,"test")
})
r.Run() // listen and server on 0.0.0.0:8080
}
默认端口是8080,http://localhost:8080/test,打开链接如下,
可以看到构建一个http请求十分简单,如果是用spring,估计还在配置呢,当然 spring boot还是配置很快的,再接下来看看返回json
2.json
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/test", func(c *gin.Context) {
//c.String(200,"1111")
c.JSON(200, gin.H{
"code":0,
"msg":"ok",
"data":"data",
})
})
r.Run() // listen and server on 0.0.0.0:8080
}
页面上看到的json是:{"code":0,"data":"data","msg":"ok"}
平常开发中,当我们想要返回json时,常常是把一个对象生成 json,记得特别深在spring boot中直接返回一个对象就自动帮你生成josn了,gin是怎么做的呢,我们看一下,
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
type Student struct {
Name string
Age int
}
r := gin.Default()
r.GET("/test", func(c *gin.Context) {
//c.String(200,"1111")
c.JSON(200,Student{"la",17})
})
r.Run() // listen and server on 0.0.0.0:8080
}
是不是很简单,直接返回一个结构体就可以了
3.带参数的请求
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/test/:name", func(c *gin.Context) {
name := c.Param("name")
c.String(200, "Hello %s", name)
})
r.Run()
}
拿参数通过Param()方法,还有Params()方法可以拿多个参数。