這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
0.介紹
gin,是golang的一個快速http架構,十分輕巧好用。
1.快速上手
package mainimport ("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,開啟連結如下,
test.png
可以看到構建一個http請求十分簡單,如果是用spring,估計還在配置呢,當然 spring boot還是配置很快的,再接下來看看返回json
2.json
package mainimport ("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 mainimport ("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 mainimport ("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()方法可以拿多個參數。