gin中抽离分组中的中间件,让中间件在单独的一个文件中
middlewares\baseApiTime.go
在main.go的同级目录下创建文件夹middlewares,
在middlewares下创建baseApiTime.go 文件
baseApiTime.go 代码如下
package middlewares
import (
"fmt"
"github.com/gin-gonic/gin"
)
func BaseApiTime(c *gin.Context) {
fmt.Println("这个中间件用于统计时间")
c.Next()
}
routers\user.go文件
package routers
import (
"fmt"
controllers "gin-quickstart/controllers/user"
"gin-quickstart/middlewares"
"github.com/gin-gonic/gin"
)
func getTime(c *gin.Context) {
fmt.Println("这是一个中间件")
c.Next()
}
// 注意首字母要大写的哈
func UserRouters(r *gin.Engine) {
apiUserRouters := r.Group("/user", middlewares.BaseApiTime)
{
// 浏览器访问的是: http://localhost:8087/user/list
// 接口应该是:127.0.0.1:8087/user/list
// controllers是指的是包的名称,UserList是指的是包中的函数的名称
apiUserRouters.GET("/list", controllers.UserController{}.UserList)
// 浏览器访问的是: http://localhost:8087/user/detail
// 接口应该是:127.0.0.1:8087/user/detail
apiUserRouters.GET("/detail", controllers.UserController{}.UserDetail)
}
}
中间件的调用方法:包名.函数
apiUserRouters := r.Group("/user", middlewares.BaseApiTime)
middlewares . BaseApiTime
│ └─ 导出函数(middlewares/baseApiTime.go )
└─ 包名(该文件第 1 行 `package middlewares`)
作者:流年少年
出处:https://www.cnblogs.com/ishoulgodo/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/ishoulgodo/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
支付宝
微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号