GIn入门

Gin入门

1.Gin安装

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

2. 将 gin 引入到代码中:

import "github.com/gin-gonic/gin"

2.1(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:

import "net/http"

2.2 初始化 go mod

go mod init

/*
生成 go.mod 文件,此命令会在当前目录中初始化和创建一个新的go.mod文件,手动创建go.mod文件再包含一些module声明也等同该命令,而go mod init命令便是帮我们简便操作,可以帮助我们自动创建。
*/

3.简单示例 (main.go)

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
	r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

3.1 运行

go run main.go

运行 main.go 并且在浏览器中访问 127.0.0.1:8080/ping

3.2 如果需要跑在8000端口

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
    r.Run(":8000") //这样就可以了
}

4 热加载

每次更新代码都需要重新启动代码,我们可以使用第三方的包来实现自动重新加载并执行

工具1(推荐)
go get github.com/pilu/fresh


工具2
go get -u github.com/codegangsta/gin

4.1 使用热加载启动服务,出现问题

pFFMWgx.png

下载 fresh 仓库最新代码


# 从github下载最新的代码
git clone https://github.com/gravityblast/fresh.git
# 或者使用码云下载
git clone git@gitee.com:kubernete/fresh.git
安装 fresh

# 安装fresh
go install github.com/pilu/fresh@latest
fresh运行项目名即可 (会生成一个tmp文件夹不用管)

5 GET POST PUT DELETE

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
	r.POST("/post", func(c *gin.Context) {
		c.String(http.StatusOK, "我是POST,主要用于增加数据")
	})
	r.PUT("/put", func(c *gin.Context) {
		c.String(http.StatusOK, "我是PUT,主要用于修改数据")
	})
	r.DELETE("/delete", func(c *gin.Context) {
		c.String(http.StatusOK, "我是DELETE,主要用于删除数据")
	})
	r.Run(":8000") // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
posted @ 2024-01-17 10:55  春游去动物园  阅读(19)  评论(0编辑  收藏  举报