三十二、初识Gin框架
目录
一、搭建web项目
1、引入gin依赖
2、搭建项目结构
二、路由绑定
1、创建路由
解释:
2、创建实例化模块
3、创建具体事项
4、main中添加注册
一、搭建web项目
1、引入gin依赖
在项目路径下,终端中输入
go get -u github.com/gin-gonic/gin
2、搭建项目结构
最终搭建效果:
在cmd包下搭建main方法,main方法中直接复制 https://github.com/gin-gonic/gin 下以下内容
完成后即可运行访问(localhost:8080/ping) 进行访问,当然要对Run进行err预判。
修改如下
err := r.Run()
if err != nil {
return
}
二、路由绑定
1、创建路由
在实际开发中不可能将方法实现放在main中,所以在internal包下创建新包api包,并在包下创建routers.go
const (
rootPath = "/api/"
)
func CmsRouter(r *gin.Engine) {
root := r.Group(rootPath)
//初始化
cmsApp := services.NewCmsApp()
//路由绑定
root.GET("/hello", cmsApp.Hello)
}
解释:
定义常量路径前缀 api,创建函数CmsRouter,使用r.Group函数进行分组,分组可以定义一些方法是测试方法或需要/不需要鉴权的方法,提升代码可读性等好处
在services包下创建cms.go并在其中完成一些实例返回
在services包下创建hello.go,并在其中完成具体业务逻辑
最后在main方法中完成注册使路由生效
2、创建实例化模块
cms.go具体代码
package services
//初始化
type CmsApp struct {
}
func NewCmsApp() *CmsApp {
return &CmsApp{}
}
3、创建具体事项
hello.go具体代码
package services
import (
"github.com/gin-gonic/gin"
"net/http"
)
func (c *CmsApp) Hello(ctx *gin.Context) {
ctx.JSON(http.StatusOK, gin.H{
"message": "pong",
})
}
4、main中添加注册
func main() {
r := gin.Default()
//注册使生效
api.CmsRouter(r)
err := r.Run()
if err != nil {
return
} // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
最终再次访问localhost:8080/api/hello 即可访问到接口