美文网首页
gin简单学习

gin简单学习

作者: 想入飞飞___ | 来源:发表于2017-08-23 15:38 被阅读114次

    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,打开链接如下,

    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()方法可以拿多个参数。

    相关文章

      网友评论

          本文标题:gin简单学习

          本文链接:https://www.haomeiwen.com/subject/tltnrxtx.html