gin簡單學習

weixin_33912246發表於2017-08-23

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,開啟連結如下,

2612749-e5cbeacf4258cb12.png
test.png

可以看到構建一個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()方法可以拿多個引數。

相關文章