Go学习【02】:理解Gin,搭一个web demo

Go Gin 框架

说Gin是一个框架,不如说Gin是一个类库或者工具库,其包含了可以组成框架的组件。这样会更好理解一点。

举个🌰

  • 端口监听
  • 用于监听请求,也就是服务
  • 请求处理
  • 请求分发
  • 结果处理
  • 路由
  • 路由编写
  • 路由接入
  • 业务处理
  • 写一个demo

好,开搞!

前提
* 你已经安装好go环境,没安装的可以百度下,教程很多
* 你已经安装了Gin,如果没安装,安装命令:go get -u github.com/gin-gonic/gin
// Github上有https://github.com/gin-gonic/gin,大牛直接看这个不用看下面的了
* 建一个项目文件夹 gogo
* 初始化环境go  mod init 模块名或者项目名
// 比如我把这个测试项目取名为 gogo ; go  mod init gogo

端口监听: 主要是监听端口的消息,提供服务入口。

文件位置:~/gogo/server.go

package main
import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main()  {
    server := gin.Default()
    server.GET("/", func(c *gin.Context) {
        param := c.DefaultQuery("name", "Guest")  //注意:gin.Context 、参数获取
        c.JSON(http.StatusOK, gin.H{
            "message": "hello 测试通过",
            "data":param,
        })
    })
    server.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

{
  code: 200,
  data: [ ],
  message: "请求成功"
}

例子:

gogo/app/routes/api.go增加路由

// exp: get 、 param
e.GET("/get", distribute.Handle(test.TestGet))

gogo/app/http/test.go增加业务代码

func (r *TestController) TestGet(request *distribute.AppReqest) {
        var data = []string{}
        var name = request.InputGet("name")
        data = append(data,name)
        request.Success(data);
}

`go
http://127.0.0.1:8080/get?name=Lucy

Original: https://www.cnblogs.com/lpit/p/15325675.html
Author: 飞翔风筝
Title: Go学习【02】:理解Gin,搭一个web demo

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/516582/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球