本文用于记录 Go
语言的轻量级Web框架 Gin
的基本使用。
接下来老狗将从零开始搭建一个简单的项目环境,然后使用 Gin
编写一些Web服务器相关代码,包括创建服务、Token拦截、参数接收等基本操作。
注意:在进行下面的操作前,请保证你已经正确安装和配置 Golang
的开发环境。
bash# 创建文件夹
mkdir gin-server
# 进入文件夹
cd gin-server
PS:也可以用鼠标操作
bash# 在 gin-server 文件夹内,用命令行终端运行:
go mod init gin-server
使用
go mod
初始化gin-server
项目,成功后,会出现提示:go: creating new go.mod: module gin-server
,并且gin-server
文件夹内会出现go.mod
文件。
gin
bash# 用命令行终端运行:
go get github.com/gin-gonic/gin
该命令将下载
gin
相关代码包
在
gin-server
文件夹内创建main.go
文件,并填入以下代码:
go// go语言规范,必须程序入口必须是在 package main 包内
package main
// 引用 fmt 和 gin
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
// 创建路由
router := gin.Default()
// 路由分组
api := router.Group("/gin")
// 开放接口
api.GET("/hello", hello)
// 以上两行代码相当于:router.GET("/gin/hello", hello)
// 启动服务并设置端口为 8080
err := router.Run(":8080")
if err != nil {
fmt.Println("Error: ", err)
}
}
// 接口参数必须是 c *gin.Context
func hello(c *gin.Context) {
fmt.Println("hello gin")
}
通过以上操作,你已经使用 gin
创建了一个最基础的 web
服务,并开放了一个 /gin/hello
接口。
bash# 在gin-server文件夹内,用命令行终端运行:
go run main.go
运行成功后,会出现相应日志:
console[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached. [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode) [GIN-debug] GET /gin/hello --> main.hello (3 handlers) [GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value. Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details. [GIN-debug] Listening and serving HTTP on :8080
根据提示,已经开发地址为 /gin/hello
的 GET
接口,且端口为 8080
。
注意:启动成功后不要关闭该终端,否则将会关闭该服务!
可以通过浏览器输入地址 http://localhost:8080/gin/hello
发送请求,也可以使用命令行 curl
工具发送请求:
bash# 在任意地方再开一个命令行终端,并运行:
curl http://localhost:8080/gin/hello
请求发送后,查看原来启动 服务的终端窗口,可以看到输出:
bashhello gin
[GIN] 2024/04/04 - 12:06:09 |[97;42m 200 [0m| 0s | ::1 |[97;44m GET [0m "/gin/hello"
其中输出 hello gin
则可认为接口成功。
go mod
是 Go 语言提供的依赖管理工具,用于管理 Go 项目的依赖关系和版本信息;router := gin.Default()
用于创建接口根节点;api := router.Group("/gin")
用于创建 router
的下级节点,可以一层层向下扩展节点。通过本文的学习,你已经搭建了一个最简单的Http服务,下一篇,将介绍一下接口封装:【Go语言框架Gin基础教程二:接口封装】
建站因为热爱,生活需要Money,请屏幕前的大佬动动您发财的小手,点击一次以示鼓励,祝您生活愉快!
PS:就目前的访问量,即便每个访客都点一次广告,收入也不足以支付运营成本。
如果看不到广告,可能是网络原因或被拦截了,那就算了吧。再次祝您生活愉快~~
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!