【get√】golang新手理解了一点点gin框架的中间件
2024-09-05 11:11:14
1.通过use()来使用多个中间件
router := gin.New()
router.Use( middleware1, middleware2)
2.中间件的典型实现
func Logger() gin.HandlerFunc {
return func(context *gin.Context) {
start := time.Now()
log.Println(start, context.Request.Method, context.Request.RequestURI, context.ClientIP())
//上面的代码是 before_request
context.Next() //执行请求
//后面的代码是after request
latency := time.Now().Sub(start)
log.Println(latency.Milliseconds(), context.Writer.Status())
}
}
一直在找BeforeRequest() / AfterRequest() 这样的方法,原来很简单,写在 context.Next() 前后就行了!
最新文章
- 4-3 管理及IO重定向
- 【Alpha】Daily Scrum Meeting第十次
- tftp服务器的搭建
- css给div添加0.5px的边框
- win环境安装python爬虫框架scrapy
- [No000000]常用软件测试编译环境声明
- 谈谈数据监听observable的实现
- css3 -- 颜色与不透明度
- Spring整合CXF之发布WebService服务
- Install the 64bit library in Ubuntu13.10
- Java---JUnita、注解与类加载器详解以及实例
- JS实现下拉框选中不同的项,对应显示不同的信息
- QT皮肤框架-TQUI
- python多线程抓取网页信息
- Azure File文件共享(6):使用Python开发
- c 围圈报数
- tarjan+缩点
- Android使用OpenGL ES2.0显示YUV,您的手机上的数据要解决两个方面的坐标
- [iOS]C语言知识点系列视频
- 数据库中File权限的危害
热门文章
- CF721B Passwords 题解
- java 输入输出IO流 IO异常处理try(IO流定义){IO流使用}catch(异常){处理异常}finally{死了都要干}
- libevent实现多线程
- vim操作(复制,粘贴)
- MySQL查看数据库连接数
- Linux(centos7)安装redis并设置redis开机自启动
- 【LeetCode】1004. Max Consecutive Ones III 解题报告(C++)
- 【LeetCode】801. Minimum Swaps To Make Sequences Increasing 解题报告(Python)
- World is Exploding(hdu5792)
- 1084 - Winter