• go gin


     一、

    1.安装

    go get -u github.com/gin-gonic/gin

    2.例子

    package main
    
    import "github.com/gin-gonic/gin"
    func main() {
        r := gin.Default()
        r.GET("/ping", func(c *gin.Context) {
            c.JSON(200, gin.H{
                "message": "pong",
            })
        })
        r.Run()
    }

    3.测试

    http://127.0.0.1:8080/ping

    4.结合 vue和Bootstrap

    main.go

    package main
    
    import (
        "net/http"
    
        "github.com/gin-gonic/gin"
    )
    
    func main() {
        r := gin.Default()
        r.LoadHTMLGlob("view/*")
        r.GET("/", func(c *gin.Context) {
            c.HTML(http.StatusOK, "index.html", gin.H{})
        })
        r.Run()
    }

    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" >
      </head>
      <body>
        <div id="vm"  class="container">
            <div class="d-flex justify-content-center p-5">
                <input v-model="message"/>
            </div>
            <div class="d-flex justify-content-center">
                <h1>${message}</h1>
            </div>
        </div>
    
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" ></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" ></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" ></script>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>  
        <script>
            var vm = new Vue({
                // 由于双花括号和go模板冲突,把vue双花改成${message}形式
                delimiters: ['${', '}'],
                el: '#vm',
                data: {
                    message: null
                }
            })
        </script>
    </body>
    </html>

     

    二、

     1.请求方式及请求路径

    func main() {
        //使用默认中间件创建一个gin路由器
        r := gin.Default()
        //get请求方式:参数1地址,参数2函数
        r.GET("/", getting)
        //启动默认端口8080
        r.Run()
    }
    
    func getting(c *gin.Context) {
        //
        c.JSON(200, "Hello")
    }

    2.参数

    (1)路径传参

    127.0.0.1:8080/tom

    func main() {
        r := gin.Default()
        //get请求方式:参数1地址,参数2函数
        r.GET("/:name", getting)
        r.Run()
    }
    
    func getting(c *gin.Context) {
        //
        name := c.Param("name")
        c.String(200, "Hello %s", name)
    }

     (2)get

    func main() {
        r := gin.Default()
        r.GET("/", getting)
        r.Run()
    }
    
    func getting(c *gin.Context) {
        //设置默认值,如果客户端为传递str1,则默认赋值为def
        str1 := c.DefaultQuery("str1", "def")
        str2 := c.Query("str2") // 是 c.Request.URL.Query().Get("str2") 的简写
        c.String(200, "Hello %s
    ", str1)
        c.String(200, "Hello %s", str2)
    }

     (3)表单

    func main() {
        r := gin.Default()
        r.POST("/", posting)
        r.Run()
    }
    
    func posting(c *gin.Context) {
    
        name := c.PostForm("name")
        c.String(200, "Hello %s 
    ", name)
    
        age := c.DefaultPostForm("age", "18") // 此方法可以设置默认值
        c.String(200, "Hello %s", age)
    }

  • 相关阅读:
    python之爬虫(九)PyQuery库的使用
    python之爬虫(八)BeautifulSoup库的使用
    Python之爬虫(七)正则的基本使用
    DropZone(文件上传插件)
    Django之自带分页模块Pagination
    Django之重写用户模型
    python--员工信息管理系统编译及思路
    python--生成器进阶
    python--迭代器与生成器
    python--简易员工信息系统编写
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/11025584.html
Copyright © 2020-2023  润新知