Gin 框架快速开始
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ; - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 54w+ 字,讲解图 2476+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1900+ 小伙伴加入学习 ,欢迎点击围观
通过本篇教程,小哈将手摸手带着大家通过 Gin 框架搭建一个 Web 服务,废话少说,咱们开始吧:
一、环境要求
- Go 语言版本需要 1.12 +;
二、安装 Gin 框架
安装 Gin 框架之前,你需要先安装 Go 语言环境 ,不同系统安装教程可参考下面教程:
1、下载并安装 Gin :
go get -u github.com/gin-gonic/gin
执行上面命令,你可能会遇到下面问题:
- 1.1 系统未安装版本控制 Git,报错信息如下:
go: missing Git command. See https://golang.org/s/gogetcmd
package github.com/gin-gonic/gin: exec: "git": executable file not found in $PATH
这时你需要先安装 Git, Linux 系统可通过如下命令安装:
yum install git
其他系统如何安装,小伙伴可自行搜索如何安装。
- 1.2 执行 apt get 下载包长时间没有反应 !
解决方案可参考下面链接:
2、编写一个 Gin Web 服务
2.1、新建一个 example 文件夹用来放置 Web 服务相关文件 :
mkdir example
2.2、进入该文件夹,并新建一个 example.go
文件,开始编写 Gin 代码:
vi example.go
2.3、导入 gin 依赖:
import "github.com/gin-gonic/gin"
2.4、(可选)导入 net/http
依赖。当你需要使用 http.StatusOK
常量的时候,可以导入它。
import "net/http"
2.5、在 example.go
文件代码大致如下:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
// 定义一个路径为 /ping 的 GET 格式路由,并返回 JSON 数据
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello, Gin by quanxiaoha.com !",
})
})
r.Run() // 启动服务,并监听 8080 端口
};
编辑好后保存。
3、运行 Gin 服务
执行如下命令运行刚刚编写的 example
Gin 服务:
go run example.go
执行后,会报错:
example.go:3:8: cannot find module providing package github.com/gin-gonic/gin: working directory is not part of a module
提示找不到 gin 依赖,我们需要通过 go mod
来实现包自动管理,在项目 example 文件夹下执行命令:
go mod init example.com/m/v2
初始化一个 v2 版本的 mod 依赖管理。
执行完后,会发现文件夹下多了一个 go.mod
文件,该文件中统一管理了项目中所有包依赖:
再次执行运行服务:
go run example.go
输出如下表示服务启动成功:
4、验证 Gin 服务是否能够正常访问
浏览器访问地址 http://localhost:8080/ping :
同时观察控制台输出:
控制台打印了访问 /ping
接口的相关日志,其中耗时仅为 91.217µs
微秒, 性能表现的确优秀。
至此,一个简单的 Gin Web 服务就搞定了!希望大家学完后有所收获~